我想在这里实现的是我在mysql数据库中有一个表名total_product,我想从表中检索SNo = 1的值并更新表中的Quantity。 我在GUI中使用了一个文本框,其中将编写附加产品。 表的输出存储在变量id中,生成的新数量存储在变量q1中。 所以新产品数量将是q1 = q1 + id。 我无法理解我应该在stmt.executeUpdate(sql)中使用的sql语句中放入什么,因为sql是一个字符串,我必须在sql字符串中将一个整数值传递给Qunty。
请帮助。
Connection conn = null ;
Statement stmt = null ;
String url = "jdbc:mysql://localhost:3306/project";
String user = "root";
String password = ".dpadpep";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,password);
String sql = "Select Qunty from total_product " + "where SNo = 1";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int id=0;
int q1 = Integer.parseInt(fld1[0].getText());
while(rs.next()) {
id = rs.getInt(1);
System.out.println("Quantity="+id);
}
q1 = q1+id;
sql = "UPDATE total_product " + "set Qunty = q1 where SNo=1";
stmt.executeUpdate(sql);
答案 0 :(得分:1)
您无需显式检索数据库中的当前值,只需直接添加额外的金额即可:
int q1 = Integer.parseInt(fld1[0].getText());
String sql = "UPDATE total_product SET Qunty = Qunty + ? WHERE SNo = 1";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, q1);
ps.executeUpdate();