数据库插入记录的语句,单引号,双引号values(’”+username+”’,’”+password+
我们来看这条语句
mandText = “insert into users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
1、首先困惑的关键原因在于“断句”错误。很显然你把’”+username+”’ 当成一个整体了,也把’”+password+”’当成一个整体了,问题就在这他们不是一个整体,而你把真正的整体给拆了。
2、我们来看mandText这个属性应该是一个字符串,就像这样mandText=“insert into……”,但是我们这个“insert into……”插入语句里有变量,那你就不能作为整体都放在双引号里了,那样就都成字符没有变量了,(于是你就插入了username和password,而不是变量username和password他们表示的值)。那怎样在mandText这个属性字符串里放入变量的值呢?那就要用到字符串的拼接,很简单就是用+号连接起来,比如“abc”+“123”=“abc123”。
3、接着我们再来看这条语句mandText = “insert into users(UserName,PassWord) values(‘username’,’password’)”;
这条语句运行后会插入username和password,而不是变量username和password他们表示的值,那我们就把变量单独拿出来用+号拼接,那就变成了
mandText = “insert into users(UserName,PassWord) values(’ + username + ‘,’ + password + ‘)”;
但是你不要忘了我们拼接的是字符串,所以+号前后都应是连接的字符串,那我们检查上面的语句就发现问题了第一个+号前是
“insert into users(UserName,PassWord) values(’
不是一个字符串,那就要补成字符串了,变成
“insert into users(UserName,PassWord) values(‘”
第2个+号后是
‘,’
也不是字符串,也要补成字符串,变成
“’,’”
同理,
‘)”;
也要补成字符串,变成
“’)”
最后用+号把这5部分字符串拼接起来就成了
mandText =“insert into users(UserName,PassWord) values(‘”+ username +“’,’ ”+ password +“’)”;
为了便于区分,双引号我采用中文的,你把中文双引号改成英文双引号就成了:
mandText = “insert into users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
4、现在明白了吧,我在唠叨几句。这条语句
“insert into users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
应该分为以下5部分字符串整体
“insert into users(UserName,PassWord) values(’”
username
“’,’”
password
“’)”;
其中username和password为字符串变量,最后用4个+号拼接起来作为数据库操作的字符串。要注意的是里面的单引号’ 是数据库操作语句的,千万别和字符串的双引号”混在一块了!
如果
username=“andmin”;
password=“admin888”;
那么这条语句
mandText = “insert into users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
及等价于
mandText =“insert into users(UserName,PassWord) values(’”+“admin”+“’,’”+“admin888”+“’)”;
还是那句话,为了便于区分,双引号我采用中文的,实际操作时改成英文双引号就成了。
5、现在彻底明白了吧^_^,那我这样写可以吗
mandText = “insert into”+”users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
你要是确定一定以及肯定打话,那说明你彻底明白了,不过这样有点画蛇添足-_-!
6、就这样吧,一句话总结一下:就是用+号把带变量的数据库操作字符串拼接出来。