我已经搜索过这个错误了,我想出了这个:
“我应该使用单引号将我的代码中的用户名和密码包围起来”......我做了但代码仍显示相同的错误!
以下是修复后的代码:
String strng = " SELECT * FROM Table "
+ " WHERE Username = '" + txtUsername.Text + "' AND "
+ " Password = '" + txtPassword.Text + "'";
答案 0 :(得分:4)
假设Table
是您的表的真实姓名,请尝试此
String strng = " SELECT * FROM [Table] "
+ " WHERE Username = '" + txtUsername.Text + "' AND "
+ " Password = '" + txtPassword.Text + "'";
请注意[]
周围的Table
,这是为了逃避目的,因为Table
是保留字。
我同意现有的评论,这不是构建SQL查询的正确方法。您接触SQL Injection攻击并且从可读性的角度来看也更糟。你应该使用参数。
String strng = @"
SELECT * FROM [Table]
WHERE Username = @UserName AND
Password = @Password";
...
command.Parameters.AddWithValue("@UserName", txtUsername.Text);
command.Parameters.AddWithValue("@Password", txtPassword.Text);
还有两件事需要考虑: