日期:2014-05-20  浏览次数:20782 次

100 分 java SQL语句拼接问题
小弟正在写一个小程序,

就是执行SQL语句
String sql="INSERT Employees values("+EmpID+","+EmpName+","+EmpSex+","+EmpAge+","+EmpData+")";
把这条语句赋值给sql能正常输出
System.out.println(sql);

stat.executeUpdate(sql);

但是执行语句之后就报错,

请高手指教啊

错误 INSERT Employees values(005,小王,female,19,文盲)
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在此上下文
中不允许使用名称 "小王"。有效表达式包括常量、常量表达式和变量(在某些上下文中)。
不允许使用列名。


------解决方案--------------------
这是一个很低级的错误,最好的测试方法就是把你输出的sql语句放在查询分析器等工具下面执行以下看有没有错。
你这个sql语句有个很明显的错误,就是字符形式没有加单引号
应该写成String sql="INSERT Employees values('"+EmpID+"','"+EmpName+"','"+EmpSex+"','"+EmpAge+"','"+EmpData+"')";