ExecuteScalar()返回查询结果集的第一行第一列,object类型。
当我用此方法查找某人工资时:
string
sql = "select salary from UserInfo where UserName=@UserName";
...
int result = (int)cmd.ExecuteScalar();
this .label3.Text = username + " 's salary is $" + result.ToString() ;
但是如果返回值为空即数据没找到,就会抛出异常。如果先判断
if (cmd.ExecuteScalar() == null)
那么当输入正确时,ExecuteScalar就要执行两次。用下面的方法可以只执行一次:
object obj = cmd.ExecuteScalar();
if (obj ==null)
this.label3.Text = "Can't find " + username + ".";
else
this.label3.Text = username + " 's salary is $" + obj.ToString() + ".";
conn.Close();