什么是转换.Toint16(c1.selectscalar(str)==0)
本文关键字:str selectscalar c1 转换 Toint16 什么 | 更新日期: 2023-09-27 18:27:31
这是我的代码:
string str_check;
str_check = "select count(*) from tbl_AdminLogin
where AdminId='" + txt_admin.Text + "' and Password='"
+ txt_pswd.Text + "'";
if (Convert.ToInt16(c1.selectScalar(str_check)) == 0)
{
lbl_errmsg.Text = "Invalid Admin";
}
else
{
Session.Add("adminid", txt_admin.Text);
Response.Redirect("AdminHome.aspx");
}
///THIS IS THE WHOLE PROJECT CS//
这条线的作用是什么?:
if(Convert.ToInt16(c1.selectScalar(str_check)) == 0)
标量调用返回一个离散值。您的selectScalar
调用正在执行传递的(可能会受到SQL注入的影响)SQL,并返回值——在本例中是返回的行数。假定此调用的返回值为object
,则需要对其进行转换以进行测试,在本例中为ToInt16
。
简而言之,代码查看行数是否为零,从而意味着用户名和密码不匹配。
使用Convert.ToInt16
将c1.selectScalar(str_check)
的返回值转换为整数,以便将其与0
进行比较
如果你看一下ToInt16的文档,你会发现有很多重载试图将所有类型转换为int16。
Convert.ToInt16将对象转换为整数。
我觉得你应该考虑比较字符串,而不是增加一步将其转换为整数。