2017-12-27 208 views
0

嘿祝大家有个愉快的假期,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(); } 

    } 
+0

有没有例外,或者它只是不显示值? – Nikolaus

+0

否没有显示异常,只显示ExecuteReader命令的网格视图结果,但ExecuteScalar命令不返回任何内容。 –

+0

您可以显示myCount定义/设置的位置吗? – Nikolaus

回答

0

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

你应该改变它;

(int)mycmd2.ExecuteScalar(); 

Convert.ToInt32(mycmd2.ExecuteScalar()); 

你不能拆箱这样的对象; (int)mycmd2.ExecuteScalar()

+0

我试图按照您指示的方式解析对象,但仍未显示结果。可能是它的形式控制,即我使用的。我应该使用其他表单控件吗?你有什么建议吗? –

+0

你调试过吗?有没有错误? – lucky