2017-04-18 91 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代碼來獲得正確的表格,例如:到SELECT * FROM schedule WHERE schedule(name) IS NOT NULL

+0

當我第一次製作程序時,它工作正常。我只顯示了前8項。但我添加了一些代碼,每次顯示錶時,它都會顯示類似 名稱1 名稱2 名稱3 空白30 –

0

其實,我想通了。我在上面的代碼中插入了兩次在我的程序中的聲明 。我刪除它,並重新在我的服務器上的數據庫,並解決了這個問題。所以很抱歉的麻煩。