我已经搜索了这个错误,我想出了这个:
“我应该用单引号将我的代码中的用户名和密码括起来”......我做了,但代码仍然显示相同的确切错误!
这是我修复后的代码:
String strng = " SELECT * FROM Table "
+ " WHERE Username = '" + txtUsername.Text + "' AND "
+ " Password = '" + txtPassword.Text + "'";
我已经搜索了这个错误,我想出了这个:
“我应该用单引号将我的代码中的用户名和密码括起来”......我做了,但代码仍然显示相同的确切错误!
这是我修复后的代码:
String strng = " SELECT * FROM Table "
+ " WHERE Username = '" + txtUsername.Text + "' AND "
+ " Password = '" + txtPassword.Text + "'";
假设Table
是你的桌子的真实姓名试试这个
String strng = " SELECT * FROM [Table] "
+ " WHERE Username = '" + txtUsername.Text + "' AND "
+ " Password = '" + txtPassword.Text + "'";
注意[]
around Table
,这是出于转义目的,因为Table
它是保留字。
我同意现有的评论,即这不是构建 sql 查询的正确方法。您会受到SQL 注入攻击,并且从可读性的角度来看也更糟。您应该改用参数。
String strng = @"
SELECT * FROM [Table]
WHERE Username = @UserName AND
Password = @Password";
...
command.Parameters.AddWithValue("@UserName", txtUsername.Text);
command.Parameters.AddWithValue("@Password", txtPassword.Text);
您还需要考虑两件事: