在mysql中,我有一个INVENTORY表,我在gui文本字段中将用户给出的num_of_items
添加到mysql中的前一个num_of_items
。我在我的java代码中编写了一个查询,如下所示..但它没有更新我的INVENTORY表..
try {
st2 = conn.createStatement();
rs=st2.executeQuery("select order_num,prod_name_in_order,num_of_items_in_order,cost_order from ORDER_DUP where order_num='"+ord_num+"'");
int column=rs.getMetaData().getColumnCount();
int j=0;
while(rs.next())
{
for(int i=1;i<=column;i++)
{
System.out.print(rs.getObject(i)+"\t");
product_name1 = (String) rs.getObject(2);
x1 = rs.getInt(3);
//int x=Integer.parseInt(num_of_items.trim());
}
product_name[j]=product_name1;
x[j]=x1;
j++;
System.out.println();
}
for(int k=0;k<j;k++)
st2.executeUpdate("update INVENTORY set num_of_items=num_of_items+'"+x[k]+"' where product_name='"+product_name[k]+"'"); //st2.close();
//conn.close();
System.out.printf("invy");
}
catch (SQLException e) {
System.out.printf("error in updating inventory table(YES)");
e.printStackTrace();
}
请帮帮我..我没弄错了! 感谢。
答案 0 :(得分:0)
请勿在使用x[k]
插入的变量值周围放置单引号。
您的查询应如下:
"update INVENTORY set num_of_items=num_of_items+"+x[k]+" where product_name='"+product_name[k]+"'"
答案 1 :(得分:0)
首先,缩小问题的根本原因,您是否尝试打印出最终语句String并在数据库中运行该命令?
System.out.println("update INVENTORY set num_of_items=num_of_items+'"+x[k]+"' where product_name='"+product_name[k]+"'");