Ad-hoc查询字符串导致语法错误

时间:2014-03-29 18:28:56

标签: c# sql ado.net syntax-error

我创建了一个网站,并且我的登录系统中出现语法错误。

                 conn.Open();
                 int amountOfUsers = (int)command.ExecuteScalar();

                 if (amountOfUsers == 1)
                 {
                //User exists, check if the password match
                query = string.Format("SELECT password FROM users WHERE name = '{0}", login);
                command.CommandText = query;
                string dbPassword = command.ExecuteScalar().ToString();

1 个答案:

答案 0 :(得分:2)

您尚未使用格式字符串中的撇号关闭字符串标识符{0}

query = string.Format("SELECT password FROM users WHERE name = '{0}'", login);

但我强烈建议您不要将格式字符串与SQL一起使用,因为它是SQL注入的一个很好的安全漏洞!