sqlStmt="insert into userlogin values('"+username+"','"+password+"','"+nickname+"')";关于上面的('"+username+"','"+password+"','"+nickname+"')
这括号中那么多双引号,单引号的把我搞糊涂了...把加号去掉好像会报错.. 怎么理解这些单引号,双引号。求解答。谢谢!
这括号中那么多双引号,单引号的把我搞糊涂了...把加号去掉好像会报错.. 怎么理解这些单引号,双引号。求解答。谢谢!
解决方案 »
- 高分求高手解决:org.hibernate.hql.ast.QuerySyntaxException: unexpected end of subtree []
- 大侠们,请帮下小弟,为什么我开启tomcat时候页面刷新就直接提交表单
- activemq5.1的怪问题,一批消息不能接收完全,bug?感觉activemq问题很多
- TOMCAT加载XML
- 救命!
- iframe内嵌页面取不到struts变量值
- 出现一个很诡异的问题,一直没解决,求解决方法
- 怎么接收HTML邮件?
- 用JBuidler9和Weblogic7部署entity bean时出错
- 谁能给我一个oracle的驱动程序class12?
- java.sql.SQLException: 无法从套接字读取更多的数据
- 求有项目经验的人,应用程序开发涉及到的“级联”删除是在后台处理还是在数据库的触发器处理?为什么?
首先说这个sqlStmt,这个是String类型,java的String都是以""的字符串
比如:
String a = "a";
然后就是变量啦,像你说的username,password,nickname都是变量
他也是String类型的
至于+号是java用于拼接字符串的
例如:
String b = "hello";
a = a+b;
相当于"a"+"hello" = "ahello"
嗯嗯,就这样,基本知识就这样把,楼主你还是从基础学起把,这个是表面的意思,还有堆栈的变化你也要了解的
用过你说是拼接的话('"+username+"','"+password+"','"+nickname+"') 那'"+username+"'的前面为什么要加+号它跟谁拼接呢?求解释,谢谢
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+"!!!