2013-01-14 178 views
1

我想在C#中創建簡單的應用程序。它應該是windowsForms應用程序,將基於服務的數據庫添加到項目中。在此我想製作表格(ID,name, second name)並將節目名稱顯示爲listBox。在listBox中選擇的當前姓名將被刪除(行將被刪除)從MDF數據庫刪除記錄

任何人都可以幫助我如何做到這一點?我嘗試使用數據集,這是可行的,但是在關閉應用程序並再次運行後,表格又充滿了數據。

+0

你在使用實體框架嗎? –

回答

3

中保存記錄到數據庫,並在一個列表框,你可以看到它們加載..

現在,從一個列表框,你可以像這樣的代碼刪除記錄..

protected void removeButton_Click(object sender, EventArgs e) 
    { 
     if (ListBox1.SelectedItem.Text == null) 
     { 
      MessageBox.Show("Please select an item for deletion."); 
     } 
     else 
     { 
      for (int i = 0; i <= ListBox1.Items.Count - 1; i++) 
      { 
       if (ListBox1.Items[i].Selected) 
       { 
        DeleteRecord(ListBox1.Items[i].Value.ToString()); 
       } 
      } 
      string remove = ListBox1.SelectedItem.Text; 
      ListBox1.Items.Remove(remove); 
     } 
    } 

刪除該記錄也像這個數據庫..

private void DeleteRecord(string ID) 
{ 
    SqlConnection connection = new SqlConnection("YOUR CONNECTION STRING"); 
    string sqlStatement = "DELETE FROM Table1 WHERE Id = @Id"; 

try 
{ 
    connection.Open(); 
    SqlCommand cmd = new SqlCommand(sqlStatement, connection); 
    cmd.Parameters.AddWithValue("@Id", ID); 
    cmd.CommandType = CommandType.Text; 
    cmd.ExecuteNonQuery(); 
} 
catch (System.Data.SqlClient.SqlException ex) 
{ 
    string msg = "Deletion Error:"; 
    msg += ex.Message; 
    throw new Exception(msg); 
} 
finally 
{ 
    connection.Close(); 
} 
} 
+0

在catch中,最好拋出新的異常(msg,ex) - 通過包含內部異常,您將保留完整的堆棧跟蹤。 –