如何在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"));
}