Java数据库插入记录的语句-单引号-双引号values('username+'-'+password

数据库插入记录的语句,单引号,双引号values(’”+username+”’,’”+password+

我们来看这条语句
cmd.CommandText = “insert into users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
1、首先困惑的关键原因在于“断句”错误。很显然你把’”+username+”’ 当成一个整体了,也把’”+password+”’当成一个整体了,问题就在这他们不是一个整体,而你把真正的整体给拆了。
2、我们来看cmd.CommandText这个属性应该是一个字符串,就像这样cmd.CommandText=“insert into……”,但是我们这个“insert into……”插入语句里有变量,那你就不能作为整体都放在双引号里了,那样就都成字符没有变量了,(于是你就插入了username和password,而不是变量username和password他们表示的值)。那怎样在cmd.CommandText这个属性字符串里放入变量的值呢?那就要用到字符串的拼接,很简单就是用+号连接起来,比如“abc”+“123”=“abc123”。
3、接着我们再来看这条语句cmd.CommandText = “insert into users(UserName,PassWord) values(‘username’,’password’)”;
这条语句运行后会插入username和password,而不是变量username和password他们表示的值,那我们就把变量单独拿出来用+号拼接,那就变成了
cmd.CommandText = “insert into users(UserName,PassWord) values(’ + username + ‘,’ + password + ‘)”;
但是你不要忘了我们拼接的是字符串,所以+号前后都应是连接的字符串,那我们检查上面的语句就发现问题了第一个+号前是

“insert into users(UserName,PassWord) values(’
不是一个字符串,那就要补成字符串了,变成
“insert into users(UserName,PassWord) values(‘”
第2个+号后是
‘,’
也不是字符串,也要补成字符串,变成
“’,’”
同理,
‘)”;
也要补成字符串,变成
“’)”
最后用+号把这5部分字符串拼接起来就成了
cmd.CommandText =“insert into users(UserName,PassWord) values(‘”+ username +“’,’ ”+ password +“’)”;
为了便于区分,双引号我采用中文的,你把中文双引号改成英文双引号就成了:
cmd.CommandText = “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”;
那么这条语句

cmd.CommandText = “insert into users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
及等价于
cmd.CommandText =“insert into users(UserName,PassWord) values(’”+“admin”+“’,’”+“admin888”+“’)”;
还是那句话,为了便于区分,双引号我采用中文的,实际操作时改成英文双引号就成了。

5、现在彻底明白了吧^_^,那我这样写可以吗
cmd.CommandText = “insert into”+”users(UserName,PassWord) values(’”+username+”’,’”+password+”’)”;
你要是确定一定以及肯定打话,那说明你彻底明白了,不过这样有点画蛇添足-_-!

6、就这样吧,一句话总结一下:就是用+号把带变量的数据库操作字符串拼接出来。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值