Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 返回空值的executescalar_Asp.net - Fatal编程技术网

Asp.net 返回空值的executescalar

Asp.net 返回空值的executescalar,asp.net,Asp.net,问题可能是下面的空格字符(我在空格处加了一个*where) (使用不正确) 因此,上述情况意味着您的查询正在尝试获取一个具有 开头和结尾都有空格字符,所以只需删除这些空格即可 另一点是,这种查询应该与参数一起使用,因为它很容易出错 如果查询未返回值,SQL注入类型的攻击将返回null 返回结果集中第一行的第一列或null 如果结果集为空,则引用(Visual Basic中无任何内容) 此行将引发空引用异常: where Username='*" + TextBox1.Text + "*' "

问题可能是下面的空格字符(我在空格处加了一个*where) (使用不正确)

因此,上述情况意味着您的查询正在尝试获取一个具有 开头和结尾都有空格字符,所以只需删除这些空格即可

另一点是,这种查询应该与参数一起使用,因为它很容易出错 如果查询未返回值,SQL注入类型的攻击将返回null

返回结果集中第一行的第一列或null 如果结果集为空,则引用(Visual Basic中无任何内容)

此行将引发空引用异常:

where Username='*" + TextBox1.Text + "*' "
使用字符串连接生成查询容易出错。更重要的是,它容易受到SQL注入的攻击。代码表明密码以纯文本形式存储在数据库中

SQL注入和纯文本密码是任何应用程序都非常关心的问题。参数化查询(使用ADO.Net非常简单)并散列密码。

缺少匹配可能是由以下行引起的:

passcom.ExecuteScalar().ToString();
注意字符串连接中添加的额外空格。
TextBox1
中的任何内容前面/后面都会有空格,导致匹配失败。

它在哪里“不起作用”?我们能描述一下你的问题吗
passcom.ExecuteScalar().ToString();
string checkpasswordQuery = "select password from usersign     where Username=' " + TextBox1.Text + " ' ";