java - java中rs.next只返回一个结果

标签 java sql database

我正在尝试运行以下代码:

ResultSet rs=DatabaseConnection.executeQuery("Select * from csr where c_No="+this.c_No);
if(rs.next()){  
ob_id=rs.getInt("ID");
}

ResultSet rs1=DatabaseConnection.executeQuery("Select * from cs_details");
if(rs1.next()){
cs_id=rs1.getInt("cs_Id");
DatabaseConnection.executeUpdate("Insert into transact (ob_ID, cs_ID, quant) values("+this.ob_id+", "+this.cs_id+", 0)");
}

在此代码中,ob_id 仅从数据库返回一个值为 true 的值。但第二个查询返回多行,我只需要保留一个列值,即 cs_id (每次)。但是在执行此代码时,它仅需要数据库中的第一个 cs_id 值,并且仅在“transact”表中插入一条记录。我需要插入具有相应 cs_id 值的所有记录。怎么解决这个问题???

最佳答案

而不是

if (rs1.next()) {
  cs_id=rs1.getInt("cs_Id");
  DatabaseConnection.executeUpdate("Insert into transact (ob_ID, cs_ID, quant) values("+this.ob_id+", "+this.cs_id+", 0)");
}

while (rs1.next()) {
  cs_id=rs1.getInt("cs_Id");
  DatabaseConnection.executeUpdate("Insert into transact (ob_ID, cs_ID, quant) values("+this.ob_id+", "+this.cs_id+", 0)");
}

循环遍历ResultSet中的所有记录。

关于java - java中rs.next只返回一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311774/

相关文章:

java - 如何转换java中的默认文件路径?

c# - SQL 服务器 FTS : possible to get information how/why rows were matched?

java - Derby DB - 在 Java 中将 String 保存为 CLOB 时要转义的字符列表

php - 如何从不同的数据库中获取数据并将其保存到另一个数据库中

mysql - 三元等效UML

java - 何时使用回调而不是普通函数?

java - tomcat-users.xml 无法在 UBUNTU 中打开

Java 迭代字节数组中的位

mysql - 如何在准备好的 SQL 语句中将 [] slice 也传递给非 IN 条件的 IN 条件?

SQL Server : How can I copy data from one table to another table without the characters 'e+' being added to the results