日期:2014-05-19  浏览次数:20889 次

那么多的双引号。。。
sqlStmt="insert into userlogin values('"+username+"','"+password+"','"+nickname+"')";



关于上面的('"+username+"','"+password+"','"+nickname+"') 


这括号中那么多双引号,单引号的把我搞糊涂了...把加号去掉好像会报错.. 怎么理解这些单引号,双引号。求解答。谢谢!
------解决方案--------------------
在数据库中、执行sql语句
insert into userlogin values('testName','testPass','test');
凡是字符串的字段都要用''来括起来!
如果直接写insert into userlogin values(testName,testPass,test);
必须要加上''在数据库才表名它是一个字符串、而不是变量!
假如username="testName",password="testPass",nickname="testNick"
那么sqlStmt="insert into userlogin values('"+username+"','"+password+"','"+nickname+"')";
得到的结果就是
insert into userlogin values('testName','testPass','testNick')
这样的语句才能在数据库正确的运行!

而我们不加单引号的时候
sqlStmt="insert into userlogin values("+username+","+password+","+nickname+")";
等到的结果是:
insert into userlogin values(testName,testPass,testNick)
这样的语句在数据运行那是肯定会出错的!
'"+username+"'只是做了一个简单的sql拼接而已!就是变量的前后加上单引号!如果你的字段是Number类型、那就可以不用加单引号直接"+number+"!!!