请教以下几个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错在那里了。
------解决方案--------------------数字的话, 会自动转换成字符串, 字符串就必须要加单引号了