我发现人们有同样的问题,但他们的解决方案都没有帮助我。
string checkuser = "select count(*) from Table where Username ='" + TextBox1.Text + "'";
它说“关键字'表'附近的语法不正确。”
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
关于ToString线的事情
答案 0 :(得分:1)
你的桌子实际上被叫了吗#34;表&#34 ;?如果是这样,我建议选择其他名称。如果你真的必须调用它"表",然后用反引号将其转义:
select count(*) from `Table` where Username = @Username
此外,您确实不应该将文本框中的原始值插入SQL查询中。这使您容易发生SQL注入攻击。相反,您应该为查询创建@Username
参数,并通过参数传递值。
答案 1 :(得分:0)
如果您的表名是表,那么它会导致错误,因为该表被sql用作关键字 使用类似这样的东西
select count(*) from [Table] where Username = '" + TextBox1.Text + "'";