使用 SQL 服务器数据库在数据库中插入多行
inserting multiple rows in database using SQL server database
我正在使用 SQL 服务器数据库开发 Struts 2 应用程序。
我有一个包含 2 行数据的表单,当我插入数据时,数据没有插入同一行,例如:enter image description here
我想要的结果是这样的:enter image description here
这是我在 jsp 中输入的方式:enter image description here
如您所见,您没有输入任何空值
我的class身份:
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;
}
}
我的class型号:
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>
我知道我做错了但我不知道
嗨@DrGun Gun 欢迎来到 SO,
您提供的信息不充分,但我猜问题出在
for(CoordenadasP cord : cords) {
ps.setString(1, cord.getCordNort());
ps.setString(2, cord.getCordSurr());
ps.addBatch();
}
此处在 for(CoordenadasP cord : cords) { 行。
插入六行的原因是循环被执行了六次,所以首先在该对象中正确获取数据,然后你就可以开始了!
希望对您有所帮助。
我正在使用 SQL 服务器数据库开发 Struts 2 应用程序。 我有一个包含 2 行数据的表单,当我插入数据时,数据没有插入同一行,例如:enter image description here
我想要的结果是这样的:enter image description here
这是我在 jsp 中输入的方式:enter image description here
如您所见,您没有输入任何空值
我的class身份:
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;
}
}
我的class型号:
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>
我知道我做错了但我不知道
嗨@DrGun Gun 欢迎来到 SO,
您提供的信息不充分,但我猜问题出在
for(CoordenadasP cord : cords) {
ps.setString(1, cord.getCordNort());
ps.setString(2, cord.getCordSurr());
ps.addBatch();
}
此处在 for(CoordenadasP cord : cords) { 行。
插入六行的原因是循环被执行了六次,所以首先在该对象中正确获取数据,然后你就可以开始了!
希望对您有所帮助。