我很困惑任何帮助都会很好。
我有一个列表框,上面有从.accdb读入的员工姓名。那部分工作得很好。然后我对windowsform中的listbox项进行更改。现在我想把我在列表框中所做的更改插入到.accdb中。我的问题是,当我单击save按钮时,它只是在我的列表框中添加了第一个项,而不是每个项。我不知道为什么它只添加了一项而不是全部。非常感谢你能帮忙!

    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();
    }

最佳答案

尝试清除这些参数,因为您一直在添加它们:

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

关于c# - 使用C#将ListBox项目插入.accdb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27727193/

10-11 04:52