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

请教以下几个sql语句的差别
private void myrun(int tnum,String tname,String tpass){
String sql1="select * from tab where id='"+tnum+"'";
String sql2="select * from tab where id="+tnum;

String sql3="select * from tab where name='"+tname+"' and pass='"+tpass+"'";
String sql4="select * from tab where name="+tname+" and pass="+tpass+"";
}
我运行时,sql1正确运行,sql2就出现问题

sql4提示语法错误。
想了很长时间没想明白。对于sql2语句在asp中又是正确的,到底应该怎么写?

------解决方案--------------------
你用out.println把sql1 ,sql2,sql3,sql4都打印出来,就知道sql错在那里了。
------解决方案--------------------
数字的话, 会自动转换成字符串, 字符串就必须要加单引号了