如何在java NetBeans中使用sql获取单个数据

如何在java NetBeans中使用sql获取单个数据,java,sql,Java,Sql,因此,我试图将数量提取到单个变量中,从中我可以更改它并将其更新为用户提供的最终值。 我使用的语句是: int s= sta.executeUpdate("UPDATE stockDB SET Quantity="+quantity+" WHERE Name='"+name+"' AND Size="+size+""); 所以这个语句更新了整个数量数据,但是我想删除用户提供的数量,而不是整个数量本身。 我应该添加什么语句来获取数量并更新它, 我试过: 我得到这个错误: java.sql.SQLE

因此,我试图将数量提取到单个变量中,从中我可以更改它并将其更新为用户提供的最终值。 我使用的语句是:

int s= sta.executeUpdate("UPDATE stockDB SET Quantity="+quantity+" WHERE Name='"+name+"' AND Size="+size+"");
所以这个语句更新了整个数量数据,但是我想删除用户提供的数量,而不是整个数量本身。 我应该添加什么语句来获取数量并更新它, 我试过:

我得到这个错误:

java.sql.SQLException:未生成行计数

怎么办? 我知道我做得不对

更新:

ResultSet rs =sta.executeQuery("SELECT Quantity FROM stockDB WHERE Name='"+name+"' AND Size="+size+"");
      String str = rs.getString("Quantity");
        int quan = Integer.parseInt(str);

     int fquan;
      fquan=quan-quantity;


      int ss= sta.executeUpdate("UPDATE stockDB SET Quantity="+fquan+" WHERE Name='"+name+"' AND Size="+size+"");
错误:

错误:无效的游标状态

注:

fquan=quan数量中的数量变量正确。 数量是一个变量名。

您应该用于选择查询。对于插入,使用删除和更新,并返回int。因此

 int s= sta.executeUpdate("SELECT Quantity FROM stockDB WHERE Name='"+name+"' AND Size="+size+"");
这是完全错误的

executeQuery()
返回
ResultSet
因此您可以这样做

ResultSet rs =sta.executeQuery("SELECT Quantity FROM stockDB WHERE Name='"+name+"' AND Size="+size+"");
编辑

从评论中

重审

while(rs.next())
{
System.out.println(rs.getString("Quantity"));

}

您能告诉我如何将sql语句获取的数量存储到整数变量中吗?这样ResultSet rs将存储数量本身吗?如果是,如何将rs转换为整数变量?请参阅我的更新我编辑了行现在我得到错误:无效光标状态我已根据原始问题回答了您的问题。我的答案将无效,因为您已编辑了您的问题。您应该发布另一个问题。好的,谢谢您的回答帮助我获得了一些信息新建。您是否尝试过
name=“”;删除表stockDB;--”
while(rs.next())
{
System.out.println(rs.getString("Quantity"));

}