当前位置: 技术问答>java相关
jdbc的一个小问题
来源: 互联网 发布时间:2015-08-03
本文导语: 我写下了如下的代码: r = s.executeQuery( "SELECT bom_id FROM ems_bom_list_opera " + "WHERE (bom_id =" + searchFor.getText() + ") ORDER BY bom_id"); 程序运行出来却总是...
我写下了如下的代码:
r = s.executeQuery(
"SELECT bom_id FROM ems_bom_list_opera " +
"WHERE (bom_id =" +
searchFor.getText() +
") ORDER BY bom_id");
程序运行出来却总是说:
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '=' 附近有语法错误。
请高手帮忙。
r = s.executeQuery(
"SELECT bom_id FROM ems_bom_list_opera " +
"WHERE (bom_id =" +
searchFor.getText() +
") ORDER BY bom_id");
程序运行出来却总是说:
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '=' 附近有语法错误。
请高手帮忙。
|
searchFor.getText() 有可能为NULL,这时SQL 语句就是
WHERE (bom_id =++ 了
先判断它是否为NULL吧
WHERE (bom_id =++ 了
先判断它是否为NULL吧
|
呵呵,这种情况,一看就知道是searchFor.getText()两边漏加引号了,SQL里面字符窜两边一定要加引号,另外,也要判断是否为 NULL,否则结果就是 WHERE(bom_id=null 了,这也是错误的,应该用 is null