黑马程序员技术交流社区

标题: 为什么要用+连接起来了,它不是在比较吗? [打印本页]

作者: 袁雅墨    时间: 2012-8-31 13:59
标题: 为什么要用+连接起来了,它不是在比较吗?
本帖最后由 袁雅墨 于 2012-8-31 18:05 编辑

cmd.CommandText = "select * from Users where UserName='"+usename+"'";
作者: 许庭洲    时间: 2012-8-31 14:20
1. + 可以用作字符串连接,而能比较的运算符只有:>,<.<=,>=和!=这些;
2. 将string和其他类型 + ,会自动tostring();
作者: 徐阳    时间: 2012-8-31 14:22
用+连接起来实际是将那个变量的值传进来
例如:
int id =1;
string name="lui"; cmd.commandtext="insert into tuserlogin values("+id+",'"+name+"')";
因为id是数值,所以在传递的时候只需要在sql字符串中用"+id+"即可实现,而   name是字符串,所以在传递的时候还需要在"+name+"两边各加一个单引号(')来 实现;
也可以通过"select * from tablename where UserName=@username"
然后用com.parameters.add();传参数
作者: 袁雅墨    时间: 2012-8-31 15:04
徐阳 发表于 2012-8-31 14:22
用+连接起来实际是将那个变量的值传进来
例如:
int id =1;

谢谢…明白了。…讲的很清楚。
作者: 袁雅墨    时间: 2012-8-31 15:20
袁雅墨 发表于 2012-8-31 15:04
谢谢…明白了。…讲的很清楚。

再问一个问题啊。我程序没错。但就是 有错误 。我和老师写的程序是一样的。但我向表里面插入数据时也没用。能帮我解决不……
作者: 许庭洲    时间: 2012-8-31 15:27
袁雅墨 发表于 2012-8-31 15:20
再问一个问题啊。我程序没错。但就是有错误 。我和老师写的程序是一样的。但我向表里面插入数据时也没用 ...

看看数据库表中的用户名字段,然后是否与插入的SQL语句中的字段一样,若不一样程序会弹出列名无效异常信息。
作者: 袁雅墨    时间: 2012-8-31 15:32
许庭洲 发表于 2012-8-31 15:27
看看数据库表中的用户名字段,然后是否与插入的SQL语句中的字段一样,若不一样程序会弹出列名无效异常信 ...

是一样的。

作者: 许庭洲    时间: 2012-8-31 15:43
袁雅墨 发表于 2012-8-31 15:32
是一样的。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2