2012-11-24 31 views
0

我有2個按鈕添加到CheckListBox。第一個按鈕添加一個交貨與客戶名稱,地址和到達時間。將數據保存到數據庫,然後將數據加載到列表框中

第二個按鈕將與交貨名稱的收發地址

我也有一個數據庫表名爲客戶提供以下欄目: ID,說明,客戶名稱,客戶地址,到達時間,送貨名稱,交付地址

我有大約10個記錄的時刻存儲在數據庫

我的問題 - 如何讓自己的程序啓動時加載存儲在我的數據庫中的記錄到CheckListBox當我做我的代碼它添加一個新的交付或一個ew拿起它將它保存在我的數據庫中的Customer表中?另外,如果我在CheckListBox內編輯或刪除,我希望它相應地更新我的數據庫表。

+1

什麼是您的應用程序 - webforms?的WinForms?控制檯應用?另外:你使用哪種數據庫訪問技術 - 「原始」ADO.NET? LINQ到SQL?實體框架?至於,這個問題不能回答... –

+0

哦,對不起,窗口窗體,我不知道什麼數據庫,我只是看了視頻如何在視覺工作室創建一個數據庫,並與該視頻鏈接:http ://www.youtube.com/watch?v = NfLk1921Ydc – Michael

回答

2

從視頻的外觀來看,您使用的是SQL Server。你需要做一些事情才能讓你的程序在你想要的地方。我會盡我所能讓你在那裏,提供的信息(這假設你正在學習,並將保持基本):

「我怎麼編碼它,以便當我的程序啓動它加載存儲在我的數據庫到CheckListBox」

你需要在你的窗口的頂部添加此using語句形成類:

using System.Data.SqlClient; 

然後,在Form_Load事件中,連接到數據庫和檢索行從客戶表(未經測試):

 private void Form1_Load(object sender, EventArgs e) 
    { 
     //Setup connection to your database. 
     SqlConnection myConnection = new SqlConnection("user id=sql_userID;" + 
            "password=password;server=server_url;" + 
            "Trusted_Connection=yes;" + 
            "database=databaseName; " + 
            "connection timeout=30"); 

     //Open connection. 
     myConnection.Open(); 

     //Create dataset to store information. 
     DataSet ds = new DataSet(); 

     //Create command object and adapter to retrieve information. 
     SqlCommand myCommand = new SqlCommand("SELECT * FROM Customers", myConnection); 
     SqlDataAdapter adapter = new SqlDataAdapter(myCommand); 
     adapter.Fill(ds);   

     //Loop through each row and display whichever column you wish to show in the CheckListBox. 
     foreach (DataRow row in ds.Tables) 
      checkedListBox1.Items.Add(row["ColumnNameToShow"]); 
    } 

你的問題的其餘部分有點含糊,因爲你沒有解釋你將如何保存一個「新」記錄(用一個按鈕,需要什麼數據,用戶實際輸入什麼數據,輸入類型等等)或您如何「刪除」記錄。這應該讓你在正確的道路上,並幫助你開始。

+0

謝謝,沒有錯誤的代碼,但它沒有加載數據在'CheackListBox' – Michael

+0

如果你在foreach循環上放置一個斷點並調試它,數據集(ds)有記錄嗎? CheckListBox是否有任何項目(如果錯誤類型在那裏,它可以把System.DataRow和adList項目的文本值)。 – Robert

相關問題