C# C MS Access数据库-发送第二个更新命令显示错误
我正在尝试创建基于C和Access数据库的程序更新命令。它的工作方式是我想要的,但是当我第二次尝试更新另一条或同一条记录时,VS2013显示错误 未处理InvalidComObjectException。 无法删除已与其基础RCW分离的COM对象 用过 我的程序是这样的: FormA-带有表格Grafik的DataGridView1和打开FormB的按钮的主窗口 FormB-第二个表单,带有表Employyes的DataGridView2和FormC的按钮 FormC-直接在DataGridView上使用文本框、组合框和按钮no将记录添加、删除和更新到数据库Kategorie的表单 更新过程使用ComboBox ComboboxWybierzCategorie从数据库Kategorie中选择要更新的类别,使用textBox TextBoxedYTujCategorie设置所选Kategoria的新名称,并使用按钮接受过程 Broker.cs FormC.cs 我知道代码搞错了,很抱歉。更有趣的是,当我关闭FormC并使用按钮重新打开它时,更新函数工作正常,除非我想再次使用它 VS2013选择此行作为错误原因:C# C MS Access数据库-发送第二个更新命令显示错误,c#,ms-access,C#,Ms Access,我正在尝试创建基于C和Access数据库的程序更新命令。它的工作方式是我想要的,但是当我第二次尝试更新另一条或同一条记录时,VS2013显示错误 未处理InvalidComObjectException。 无法删除已与其基础RCW分离的COM对象 用过 我的程序是这样的: FormA-带有表格Grafik的DataGridView1和打开FormB的按钮的主窗口 FormB-第二个表单,带有表Employyes的DataGridView2和FormC的按钮 FormC-直接在DataGridVi
int cmd = command.ExecuteNonQuery();
与数据库的连接:
OleDbConnection connection;
OleDbCommand command;
private void ConnectTo()
{
//inside//connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=bc3e-ps.accdb");
/*outside*/
connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\bc3e-ps.accdb");
command = connection.CreateCommand();
我做错了什么?由于您每次都在向命令添加参数,因此不应再次使用命令对象 每次要执行另一个命令时,只需调用connection.CreateCommand 您可以重复使用命令,但是您只想在每个调用上设置现有参数,而不是在每个调用上添加参数
int cmd = command.ExecuteNonQuery();
OleDbConnection connection;
OleDbCommand command;
private void ConnectTo()
{
//inside//connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=bc3e-ps.accdb");
/*outside*/
connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\bc3e-ps.accdb");
command = connection.CreateCommand();