int i = (int)sqlselect.ExecuteScalar();中i是什么意思?

public void userValidate(string sqlStr)
{
DBConnection.Con.Open();//数据库的连接类打开
try
{
SqlCommand sqlselect = new SqlCommand(sqlStr, DBConnection.Con);
int i = (int)sqlselect.ExecuteScalar();
if (i == 1)
{
this.Hide();
DBConnection.Con.Close();
string sqlcmd = string.Format("select * from Roles where rolename='{0}'", genre());
FrmMian frmmian = new FrmMian(sqlcmd);
frmmian.Show();
}
else
{
MessageBox.Show("用户不存在或密码错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPwd.Clear(); txtUserName.Clear(); txtUserName.Focus();
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBConnection.Con.Close();
}

}

叮当猫咪
浏览 1158回答 2
2回答

慕码人8056858

sqlselect是SqlCommand类型对象,用于执行SQL语句。ExecuteScalar();这是SqlCommand的方法。用于执行返回当个结果值的SQL语句。比如:select sname from users where id=1这样的话只返回id为1的人的姓名。只可以返回单个结果值,至于是返回数值,还是字符串,均可。只是返回的结果需要数据类型转换。看你的代码应该是返回一个数值,if(i==1)就是判断你返回的结果,一般来说,如果返回的结果不大于0应该就是查询失败了或者数据不存在。否则就是查询成功,或数据存在。希望对你有所帮助!

达令说

int i = (int)sqlselect.ExecuteScalar();中i是什么意思 if(i==1)也不懂这个i就是函数sqlselect.ExecuteScalar()的返回值啊;if(i==1)就是判断函数的返回值是不是等于1;
打开App,查看更多内容
随时随地看视频慕课网APP