在期望有条件的上下文中指定的非布尔类型表达式,在'Name'附近

本文关键字:表达式 附近 Name 类型 有条件 期望 上下文 布尔 | 更新日期: 2023-09-27 18:01:52

表示int temp = Convert…给出错误:

在需要条件的上下文中指定的非布尔类型表达式,在'Name'附近

周围的代码是:

String checkuser = "select count(*) from [UserRecord] where User Name= " +TextBoxUsername.Text + "";
SqlCommand com = new SqlCommand(checkuser, conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString()); //error on this line 
if (temp == 1)

有人能解释一下是什么导致了错误吗?

在期望有条件的上下文中指定的非布尔类型表达式,在'Name'附近

用户名需要用单引号括起来。

String checkuser = "select count(*) from [UserRecord] where User Name= '" +TextBoxUsername.Text + "'";

同时,User Name不应该有空格,或者需要[]环绕。

或者更好,使用参数化查询

请检查您的查询。用户名和用户名之间有空格。

"select count(*) from [UserRecord] where User Name= "

你忘记

String checkuser = "select count(*) from [UserRecord] where User Name= '" +TextBoxUsername.Text + "'";