2017-12-27 16 views
0

に結果を表示する、ADO.netちょっと幸せな休日を持っているあなたのすべてを望む複数のクエリ(のexecuteQuery&は、ExecuteScalar)を実行し、Webフォームコントロール

私はSQLデータベーステーブルから複数のクエリ結果を表示しようとしていますグリッドビューコントロールとラベルに追加します。私はグリッドビューの結果に問題はありませんが、ExecuteScalarコマンドの結果は、ID = "myCount"の私のlableコントロールの中に表示されません。私は自分のコードに何が間違っているのか分からなかった。あなたの助けが必要です。

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ブロックで処理し、あなたはそれを知らないと思う。

変更する必要があります。あなたはこのようなオブジェクトをアンボクシングすることはできません

Convert.ToInt32(mycmd2.ExecuteScalar()); 

(int)mycmd2.ExecuteScalar(); 

(int)mycmd2.ExecuteScalar()

+0

あなたが私の指示どおりにオブジェクトを解析しようとしましたが、それでも結果は表示されません。フォームコントロール、つまり私が使用したかもしれません。私は別のフォームコントロールを使用すべきですか?何か提案はありますか? –

+0

デバッグしましたか?何かエラーがありますか? – lucky

関連する問題