2017-09-04 17 views
-3

データベース内のテーブルの合計行数を取得し、テキストボックスに表示しようとしています。いくつかの未知の理由で、私のコードは動作しませんし、その意図した結果SELECT COUNT(*)はテキストボックスに何も表示していません

MySqlConnection con = new MySqlConnection(constring); 
     con.Open(); 
     MySqlCommand comm = new MySqlCommand("SELECT COUNT(1) FROM addinv_table", con); 
     Int32 count = (Int32)comm.ExecuteScalar(); 
     textBox1.Text = Convert.ToString(count); 

編集を表示しない:現在別のアプローチをすることによって私の問題を解決しました。

MySqlCommand comm = new MySqlCommand("SELECT * FROM addinv_table"); 
     MySqlDataAdapter ap = new MySqlDataAdapter(comm.CommandText, con); 
     DataSet ds = new DataSet(); 
     ap.Fill(ds); 
     textBox1.Text = ds.Tables[0].Rows.Count.ToString(); 
+0

あなたが投稿した情報で私たち( '不明な理由により)'にも有効です。 [小さなプログラムをデバッグする方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) –

+0

同じクエリを実行するとどのような結果が得られますかワークベンチまたはmysqlコマンドプロンプト経由で直接データベースに対して? –

+0

テキストボックスは31と表示されるはずです。私はそれをworkbench経由で実行しようとしましたが、うまくいきました。 – Kent

答えて

0

これを試すことができます。それは、コードが少なく、間違っている場所が少なくなっています。

using (Database con = constring){ 
    int count = con.QueryValue("SELECT COUNT(*) FROM addinv_table"); 
    textBox1.Text = count.ToString(); 
} 
関連する問題