单击提交按钮时出现语法错误,我的SQL表出现问题,因此想知道它是否可以链接



当我在注册表上单击"提交"时出现此错误 -

System.Data.SqlClient.SqlException:"关键字'Table'附近的语法不正确。

下面是我的代码:

if(IsPostBack)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
conn.Open();
string checkuser = "select count(*) from Table where UserName='" + TextBoxUN.Text +"'";
SqlCommand com = new SqlCommand(checkuser, conn);
int count = Convert.ToInt32(com.ExecuteScalar());
{
Response.Write("User already Exists");
}

conn.Close();

正如MickyD和Dour High Arch的评论中所指出的,"Table"是SQL中的一个保留字

可以通过在查询中将Table放在方括号 ([]( 内来避免此错误:

string checkuser = "select count(*) from [Table] where UserName='" + TextBoxUN.Text +"'";

然而,这并没有解决真正的问题——设计。您有一个名为Table的表。 您应该强烈考虑根据其用途(例如,"学生"、"销售"等(为其指定一个真实名称。

安全

此外,您还存在一个 SQL 注入漏洞。 您应该查找这意味着什么以及如何参数化查询。

最新更新