itemID STRING
purchesPrice DOUBLE
quantity DOUBLE
vendor STRING
unitM STRING
jcombo1=CB_vendor.getSelectedItem().toString();
jcombo2=CB_unit.getSelectedItem().toString();
conn=ShopDb.database();
Sql_insert="insert into table itemmanag(itemID,purchesPrice,sellPrice,quantity,vendor,unitM)
values
( "+txt_itemID.getText()+"','"+Item_Pprice.getText()+"','"+txt_itemSprice.getText()
+"','"+txt_qunti.getText()+"','" +jcombo1+"','"+jcombo2+ " ')";
错误:
你的sql语法有错误;检查与您的MYSQL SERVER对应的手册 正确的syntanx版本,用于附近" table itemmanage(itemID,purchesPrice,数量,供应商, unitM)值(DA atline 1
答案 0 :(得分:2)
如Jens
所述,您在值的开头缺少单引号。
改变这个:
values( "+txt_itemID.getText()
有了这个:
values('" + txt_itemID.getText()
另外:从查询中删除关键字table
。
此外,您应该高度考虑更改您的sql构建以使用Prepared Statements以获得更清晰的代码,更重要的是避免使用SQL-Injections。
如果您仍然坚持使用此查询而不是Prepared Statements,那么最好是让您的查询更具可读性。
示例:强>
String valuesFormatted = String.format(
"('%s', %d, '%s', '%s', '%s', '%s')"
, txt_itemID.getText()
, Double.parseDouble(Item_Pprice.getText())
, txt_itemSprice.getText()
, txt_qunti.getText()
, jcombo1
, jcombo2)";
Sql_insert = "
insert into itemmanag
(itemID,purchesPrice,sellPrice,quantity,vendor,unitM )
values " + valuesFormatted;
注意:代码尚未经过测试。
答案 1 :(得分:0)
哦,天哪,谢谢@Orel Eraki,当然除了不平衡的单引号之外,你必须遵循正确的SQL插入语法和hava一种'INSERT INTO ...',试试这样(看我的变化dirctly在“值(”作为Orel Eraki之一(进入之后没有'table'“关键字”):
Sql_insert="insert into itemmanag(itemID,purchesPrice,sellPrice,quantity,vendor,unitM )values('"+txt_itemID.getText()+"','"+Item_Pprice.getText()+"','"+txt_itemSprice.getText()+"','"+txt_qunti.getText()+"','" +jcombo1+"','"+jcombo2+ "')";