2017-10-25 8 views
1

SQLサーバーデータベースを使用してStruts 2アプリケーションを開発しています。 enter image description hereSQLサーバーデータベースを使用してデータベースに複数行を挿入する

私が望む結果がこれです:: は、私は、データの2行、私はデータを挿入していたときに、データが同じ行に挿入されていない、例でフォームを持っているenter image description here

これはどのようにあるI私のjspでそれを入力してください:enter image description here

あなたが見ることができるように、あなたが任意のNULL値

私のクラスIDを入力しないでください。

public class CoordenadasP { 


String CordNort; 
String CordSurr; 

public CoordenadasP(String CordSurr, String CordNort){ 


    this.CordNort=CordNort; 
    this.CordSurr=CordSurr; 
} 


public CoordenadasP(){ 



} 



public String getCordNort() { 
    return CordNort; 
} 


public void setCordNort(String cordNort) { 
    CordNort = cordNort; 
} 


public String getCordSurr() { 
    return CordSurr; 
} 


public void setCordSurr(String cordSurr) { 
    CordSurr = cordSurr; 
} 



} 

私のクラスのモデル:

public static String addMoreDetails(List<CoordenadasP> cords) throws Exception 
{ 
    try 
    { 

     Connection con=Coneccion.getConnection(); 
     PreparedStatement ps=con.prepareStatement("insert into Coordenadass (CodN,CodS) values(?,?);"); 

    for(CoordenadasP cord : cords) { 
     ps.setString(1, cord.getCordNort()); 
     ps.setString(2, cord.getCordSurr()); 

     ps.addBatch(); 
    } 
    int counts[] = ps.executeBatch(); 
    if (counts.length == cords.size()) 
     return "someMEssage"; 
    else 
     return null; 
    } 
    catch(Exception ex) 
    { 
    return ex.toString(); 
    } 
} 

と自分の行動:

public class ActionCoordenadass extends ActionSupport{ 


private ArrayList <CoordenadasP> cords; 



public ArrayList<CoordenadasP> getCords() { 
    return cords; 
} 



public void setCords(ArrayList<CoordenadasP> cords) { 
    this.cords = cords; 
} 



public String inserCord() throws Exception{ 
    ModelCoordenaP ad = new ModelCoordenaP(); 
    ModelCoordenaP.addMoreDetails(cords); 

    return SUCCESS; 

} 

マイルJSP:

</head> 
    <body> 
<s:form role="form" action="inserCord" method="POST"> 
       <table> 
<tr> 
    <td width="10%">Reg X:</td> 
    <td width="15%" >Reg Y :</td> 

</tr> 
    <tr> 
    <td width="30%" ><input type="text" name="details.CordNort" /></td> 

    <td width="30%" ><input type="text" name="details.CordSurr" /></td> 
    </tr> 
    <tr> 
    <td width="30%"><input type="text" name="details.CordNort" ></td> 
    <td width="30%"><input type="text" name="details.CordSurr" ></td> 
    </tr> 
<tr> 
<td width="30%"><input type="text" name="details.CordNort" ></td> 
    <td width="30%"><input type="text" name="details.CordSurr" ></td> 
</tr> 
</table> 
       <div class="box-footer"> 
       <button type="submit" class="btn btn-primary">SAVE</button> 
       </div> 
      </s:form> 
    <s:form role="form" action="consulta" method="POST"> 
       <div class="box-footer"> 
       <button href="#" type="submit" class="btn btn-primary">RETURN!</button> 
       </div> 
     </s:form> 

私は私が何か間違ったことをやっている知っているが、私は

を知りません
+0

あなたの 'null'値は決してあなたの行動に送られないと思います。あなたの '.jsp'コードとあなたのフルアクションコード('コード '宣言と用法)を投稿してください。 – Plirkee

+0

コードはStruts2に関連していますか? – Yash

+0

は、私はライン・バイ・ラインは、私はちょうど私の質問を更新し に答えるため –

答えて

1

こんにちは@DrGunガンSOにようこそ、

あなたが提供する情報は不十分であるが、私の推測では、問題は(CoordenadasPコード:コード)のためにここで

for(CoordenadasP cord : cords) { 
    ps.setString(1, cord.getCordNort()); 
    ps.setString(2, cord.getCordSurr()); 

    ps.addBatch(); 
} 

であるさ{ライン。

ループが6回実行されているので、6行が挿入される理由から、最初にそのオブジェクトでデータを正しく取得すると、うまくいくはずです。

これが役に立ちます。

+0

こんにちはおかげで記録されていない理由を、私はまだ望ましい結果 –

+0

こんにちはを得ることはありません理解していない 、私の質問を更新し、こんなに早く答えてくれてありがとうそれはまだ不十分です、あなたがモデルとして書いたものがモデルではないことも明らかにコントローラが明確ではありません。コードを試してみてください。そうでない場合は、挿入した行数を挿入する前にオブジェクトの数を印刷してください。 –

関連する問題