我正在使用SQL服务器数据库开发Struts 2应用程序。 我有一个包含2行数据的表单,当我插入数据时,数据不会插入同一行,例如:enter image description here
我想要的结果是:enter image description here
这是我在jsp中输入的方式:enter image description here
如您所见,您不输入任何空值
我的班级身份:
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;
}
mi 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 :(得分:1)
你好@DrGun枪欢迎来到SO,
您提供的信息不足,但我的猜测是问题在于
for(CoordenadasP cord : cords) {
ps.setString(1, cord.getCordNort());
ps.setString(2, cord.getCordSurr());
ps.addBatch();
}
for(CoordenadasP cord:cords){ line。
插入六行的原因是因为该循环正在被执行六次,所以首先在该对象中正确获取数据,你将会很高兴。!
希望这有帮助。