2012-11-24 33 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

相关问题