2017-04-18 1 views
0

私はこれをどこでも調べようとしていますが、Windowsフォームアプリケーションを実行してデータベースを表示すると表示されます。それぞれは自動的に行をスキップして追加し続けます。
ここにここに私のGridView enter image description here私のgridviewがCで追加の行を作成しないようにする方法は?

のスクリーンショットはまた、私はボタンをクリックしたとき、それは、データベースを表示する私のコードです:

try 
    { 
     conn = new MySqlConnection(); 
     conn.ConnectionString = connstring; 

     query = "INSERT INTO schedule(name) VALUES(@namevalue)"; 
     MySqlCommand cmd = new MySqlCommand(query, conn); 
     cmd.Parameters.AddWithValue("@namevalue", this.nameEmp.Text); 

     conn.Open(); 

     cmd.ExecuteNonQuery(); 


     MessageBox.Show("Connection Success"); 
     myadapt = new MySqlDataAdapter(); 
     string sq = "SELECT * FROM schedule"; 
     myadapt.SelectCommand = new MySqlCommand(sq, conn); 
     tb = new DataTable(); 
     myadapt.Fill(tb); 

     BindingSource src = new BindingSource(); 
     src.DataSource = tb; 

     dataGridView1.DataSource = src; 

    } 
    catch (MySqlException ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
+1

私はあなたのコードから、 'schedule.'テーブルから選択する前に値が 'this.nameEmp.Text'に挿入されているので、自動的に行を追加してスキップすることを仮定します。 –

+0

追加の行を作成しないことはどういう意味ですか? –

+0

はい。それはそうしてはいけないのですか?私は以前にそれをしなかった。 –

答えて

1

は、あなたがどの名前これらの行を表示したい意味しますか列は空ではありませんか? Gridviewは、あなたがデータベースから照会したテーブルだけを表示することができるので、右のテーブル を得るためにSQLコードを変更することができます:change SELECT * FROM scheduleSELECT * FROM schedule WHERE schedule(name) IS NOT NULL

+0

私が最初にプログラムを作ったとき、うまく働いた。私はちょうど最初の8つのエントリを示した。コードを追加してテーブルを表示するたびに、 の名前1 の名前2 の名前3 ブランク30 –

0

実際には分かりました。私は文の上のコードで INSERTを2回実行しました。私はそれを削除し、私のサーバー上のデータベースを再読み込みし、問題を修正しました。トラブルのために申し訳ありません。

関連する問題