好的,所以在VB中很容易,但我无法在C#中找到它:
SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM tblUsers WHERE username = '" & username & "'", cn);
抛出
CS0019: Operator '&' cannot be applied to operands of type 'string' and 'string'
用Google搜索并找不到答案,请帮助这位新手!
答案 0 :(得分:3)
答案 1 :(得分:3)
你已经有六个(和计数)推荐使用+而不是&amp ;.但是,从长远来看,使用参数化查询而不是将变量直接连接到SQL语句中会更好。通过连接,特别是如果用户输入,您可以对SQL注入攻击敞开大门。通过使用参数,可以阻止SQL注入。
SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM tblUsers WHERE username = @user");
cmd.Parameters.AddWithValue("@user", username);
答案 2 :(得分:2)
使用'+'代替'&'
答案 3 :(得分:2)
+
是C#中的字符串连接运算符。
答案 4 :(得分:2)
使用“+”代替“&”
SqlCommand cmd = new SqlCommand(“SELECT COUNT(*)FROM tblUsers WHERE username ='”+ username +“'”,cn);
答案 5 :(得分:2)
使用+代替
即
'" + username + "'"
答案 6 :(得分:2)
我更喜欢这种东西的另一个选项是String.Format:
SqlCommand cmd = new SqlCommand(String.Format("SELECT COUNT(*) FROM tblUsers WHERE username = '{0}'",username ), cn);