永发信息网

C#中sql command写错

答案:6  悬赏:0  手机版
解决时间 2021-06-01 00:48
  • 提问者网友:蓝琪梦莎
  • 2021-05-31 08:09
textBox1.Text=admin;
string name = textBox1.Text.Trim();
我要查询表user中跟name相同的值,用以下方法查询不到任何结果,为何?
SELECt user_id, user_name, user_password
FROM [user]
WHERe (user_name = '"+name+"')


user_name字段是varchar类型
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-05-31 08:43

你在sql server 的查询分析器里这样写当然有问题咯 "+ name +”,表示这个name的变量传值进去,在C#中这样写就没问题了。

全部回答
  • 1楼网友:渊鱼
  • 2021-05-31 14:31
textBox1.Text=admin; string name = textBox1.Text.Trim(); String mySql="SELECt user_id, user_name, user_password FROM user WHERe user_name ='"+name+"'";
  • 2楼网友:老鼠爱大米
  • 2021-05-31 12:56
你别名 还没填吧
  • 3楼网友:毛毛
  • 2021-05-31 11:55
WHERe (user_name = '"+name+"') 不要加() where user_name = '"name"'
  • 4楼网友:毛毛
  • 2021-05-31 11:22

不知道你用的什么版本的SQL 但是SQLServer2005中的SQL语句是这样的

SELECt user_id, user_name, user_password FROM [user] WHERe (user_name = 'name') 你这里为什么name的前后要加上 +name+而且似乎是不用括号的

还有问题的话加我QQ 243785002 一起研究

  • 5楼网友:春色三分
  • 2021-05-31 10:11

在SQL中对于varchar类型的条件是这样的:select * from user where userId='admin'

注意这里有个单引号。

在程序中如果要用变量来拼接SQL语句的话,可以这样写:

string name = textBox1.Text.Trim();

string sql="SELECt user_id, user_name, user_password FROM [user] WHERe user_name = '"+name+"'"

变量的前后要用单引号包起来。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯