ADO.net执行多个查询(ExecuteQuery和ExecuteScalar)并在Web表单控件中显示结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADO.net执行多个查询(ExecuteQuery和ExecuteScalar)并在Web表单控件中显示结果相关的知识,希望对你有一定的参考价值。

嘿希望大家度过一个愉快的假期,

我试图将SQL数据库表中的多个查询结果显示为网格视图控件和标签。我对网格视图结果没有任何问题,但是ExecuteScalar命令的结果没有在我的标签控件中显示ID =“myCount”。我无法弄清楚我的代码出了什么问题。我需要你的帮助。

    protected void Page_Load(object sender, EventArgs e)

    {

        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MBSDB"].ConnectionString);
        try {
            conn.Open();
            string query="SELECT * FROM tblBook";
            using (SqlCommand mycmd = new SqlCommand(query, conn)) {
                myGrid.DataSource = mycmd.ExecuteReader();
                myGrid.DataBind();
            }



            string query2 = "SELECT count(title) FROM tblBook";
            using (SqlCommand mycmd2 = new SqlCommand(query2, conn)) {
                int count = (int)mycmd2.ExecuteScalar();
                myCount.Text = count.ToString();

            }


        }
        catch { 
        Exception(e);
        }
        finally { conn.Close(); }

    }
答案

你确定没有错误。我认为,错误发生并在catch块中处理,你不知道它。

你应该改变它;

(int)mycmd2.ExecuteScalar();

Convert.ToInt32(mycmd2.ExecuteScalar());

你不能拆箱这样的物体; (int)mycmd2.ExecuteScalar()

以上是关于ADO.net执行多个查询(ExecuteQuery和ExecuteScalar)并在Web表单控件中显示结果的主要内容,如果未能解决你的问题,请参考以下文章

我可以判断 ado.net DbCommand 是不是是查询(在执行之前)

如何将自定义子查询传递给 ADO.NET 中的 SQL 命令?

在 ADO.Net C# 中执行并行数据库访问

ADO.Net(C#)中怎么执行Oracle的存储过程

ADO.Net 数据库增加

Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新,添加]