为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

叮当猫咪 2019-02-06 15:07:57
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();}}
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-03-15
?
达令说

TA贡献1821条经验 获得超6个赞

int i = (int)sqlselect.ExecuteScalar();中i是什么意思 if(i==1)也不懂
这个i就是函数sqlselect.ExecuteScalar()的返回值啊;
if(i==1)就是判断函数的返回值是不是等于1;

查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 1148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信