将数据保存到数据库,然后将数据加载到Listbox

时间:2012-11-24 18:34:47

标签: c# database visual-studio-2010

我有2个按钮添加到CheckListBox。第一个按钮会添加一个包含客户名称,地址和到达时间的交货。

第二个按钮添加了一个带有“递送名称”和“递送地址”的提货

我还有一个名为customers的数据库表,其中包含以下列: ID,描述,客户名称,客户地址,到达时间,交货名称,交货地址

目前我在数据库中存储了大约10条记录

我的问题 - 如何对其进行编码,以便在我的程序启动时将存储在我的数据库中的记录加载到CheckListBox中,当我添加新的传递或新的传递时,它会将其保存在客户中我的数据库中的表?此外,如果我在CheckListBox内编辑或删除,我希望它相应地更新我的数据库表。

1 个答案:

答案 0 :(得分:2)

从视频的外观来看,您正在使用SQL Server。你需要做一些事情才能让你的程序在你想要的地方。我会尽力让你到达那里,并提供所提供的信息(这假设你正在学习,并会保持基本的东西):

“我如何对其进行编码,以便在我的程序启动时将存储在我的数据库中的记录加载到CheckListBox中”

您需要在Windows窗体类的顶部添加此using语句:

using System.Data.SqlClient;

然后,在form_Load事件中,连接到您的数据库并从customer表中检索行(未测试):

        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"]);
    }

你的问题的其余部分有点模糊,因为你没有解释你将如何保存“新”记录(使用按钮,需要什么数据,用户实际输入什么数据,输入类型,等)或如何“删除”记录。这应该会让你走上正确的道路,并帮助你开始。