• ExecuteScalar()方法的使用


    ExecuteScalar()方法的作用是:
    执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
    1、返回的是一个object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型
    例:
    string strConn = "Data Source=(local);Initial Catalog=paperManage;Integrated Security=True";
    SQLConnection objConn = new SQLconnection(strConn);
    SQLCommand objCMD = new SQLCommand(strSQL,objConn);
    object objResult = objCMD.ExecuteScalar() //或者 string result = objCMD.ExecuteScalar().toString();
     
    2、当select语句无记录返回时,ExecuteScalar()返回NULL值,无法再将null值赋给任何对象或者变量,否则出现异常:System.NullReferenceException:   未将对象引用设置到对象的实例
    例:
    若select查询无返回记录,以下代码则会抛出异常:
    try
    {
       string result = objCMD.ExecuteScalar().toString();
    }
    catch(SQLException ee)
    {
       MessageBox.show(ee.toString());
    }
    解决方法是先判断ExecuteScalar()是否为null,再进行相应的处理。
    例:
            if (objCMD.ExecuteScalar() == null)
            {
                   //为空时的操作
            }
            else
            {
                   result = objCMD.ExecuteScalar().ToString().Trim();
            }
     
    使用 ExecuteScalar() 方法从数据库中检索单个值(例如一个聚合值)。
    典型的 ExecuteScalar() 查询可以采用类似于下面的 C# 示例的格式:
     
    cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
    Int32 count = (Int32) cmd.ExecuteScalar();
  • 相关阅读:
    【BZOJ1135】[POI2009]Lyz
    【BZOJ5110】[CodePlus2017]Yazid 的新生舞会
    「BZOJ2882」工艺
    【BZOJ3626】[LNOI2014]LCA
    [Wc]Dface双面棋盘()
    【BZOJ3307】雨天的尾巴
    [NOI2012]骑行川藏
    【BZOJ4919】[Lydsy六月月赛]大根堆
    bzoj4184
    3237: [Ahoi2013]连通图 线段树分治
  • 原文地址:https://www.cnblogs.com/lpbca/p/3318231.html
Copyright © 2020-2023  润新知