2017-12-27 160 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