本帖最后由 黑马刘俊 于 2013-1-16 16:20 编辑
cmd.CommandText = "insert into T_Users1(UserName,Password) values ('"+username+"','"+password+ "')";
分解下理解比较好
首先 cmd.CommandText = " " 表示命令对象所要在执行的sql语句,这个sql语句是通过字符串参数赋给CommandText属性的。
假设username = 'aaa',password = 'bbb'
那么实际上我们执行的sql语句是 insert into T_Users1(UserName,Password) values ('aaa','bbb')
下面通过字符串连接来构造这条语句
insert into T_Users1(UserName,Password) values ( ' ' ' = insert into T_Users1(UserName,Password) values ('
+username = insert into T_Users1(UserName,Password) values ('username
+" ',' " = insert into T_Users1(UserName,Password) values ('username','
+password = insert into T_Users1(UserName,Password) values ('username','password
+ " ') " = insert into T_Users1(UserName,Password) values ('username','password')
我是这样理解的,把',' 当成一个字符串,不要理解为用单引号包裹了一个逗号,实际上我不知道这样写行不行,如果需要使用字符串连接来构造sql语句,最好写成这样,不要嵌套使用单双引号,容易犯错,而且很难找到错误
cmd.CommandText = "insert into T_Users1(UserName,Password) values ( " + " ' " + " ," + " ' " + password + " ' " + " ) "
不过最好推荐用string.format()函数来构造比较容易看懂,或者参数化查询也行。
我也是新手,有错误的地方欢迎指出,大家一起学习。 |