插入列表框项以使用 C# .accdb

本文关键字:accdb 插入列 列表 插入 | 更新日期: 2023-09-27 18:36:00

我很困惑任何帮助都会很棒。

我有一个列表框,其中包含从.accdb读入的员工姓名。这部分工作正常。然后,我对窗口窗体中的列表框项进行更改。现在,我想将我在列表框中所做的更改插入回.accdb。我的问题是当我单击保存按钮时,它只在我的列表框中添加第一项而不是每一项。我不确定为什么它只添加一个项目而不是所有项目。非常感谢,如果你能帮忙!

    private void SaveButton_Click(object sender, EventArgs e)
    {
        string connectString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=WorkReportDatabase.accdb;Persist Security Info=False;";
        OleDbConnection connectEmployee = new OleDbConnection();
        connectEmployee.ConnectionString = connectString;
        connectEmployee.Open();
        OleDbCommand commandEmployee = new OleDbCommand();
        commandEmployee.Connection = connectEmployee;
        commandEmployee.CommandText = "INSERT INTO TestTable (TestColumn) VALUES (@TestTable)";
        for(int i = 0; i < EmployeeList.Items.Count; i++)
        {
            string item = EmployeeList.GetItemText(EmployeeList.Items[i]);
            commandEmployee.Parameters.AddWithValue("@TestTable", item);
            commandEmployee.ExecuteNonQuery();
        }
        connectEmployee.Close();           
    }

插入列表框项以使用 C# .accdb

尝试清除参数,因为您不断添加它们:

commandEmployee.Parameters.Clear();
commandEmployee.Parameters.AddWithValue("@TestTable", item);