不能使用已与其基础 RCW 分离的访问 C# COM 对象
本文关键字:分离 访问 对象 COM RCW 不能 | 更新日期: 2023-09-27 17:57:05
我做了很多工作,但没有解决这个问题。我正在用 c# 制作一个带有访问数据库的程序。
我添加了新表单,我想使用此表单更新数据库。
我以另一种形式获得 id; gelenid = Form1.id2;
这是我的代码。我在科姆特得到错误。执行非查询();
isim = comboBox1.Text;
yapilacak_is = textBox1.Text.Trim();
bolum = comboBox2.Text.Trim();
tarih = monthCalendar1.SelectionRange.Start.ToShortDateString();
durum = comboBox3.Text;
int idm = Convert.ToInt32(gelenid);
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = @"UPDATE Bakim SET [Ad]=@isim,
[Bolum]=@bolum,
[Yapilacak_Is]=@yapis,
[Tarih]=@tarihim,
[Durum]=@durum
WHERE [Id]=@Id";
komut.Parameters.AddWithValue("@isim", isim);
komut.Parameters.AddWithValue("@yapis", yapilacak_is);
komut.Parameters.AddWithValue("@bolum", bolum);
komut.Parameters.AddWithValue("@tarih", tarih);
komut.Parameters.AddWithValue("@durum", durum);
// Moved after the Cover parameter
komut.Parameters.AddWithValue("@Id", idm);
komut.ExecuteNonQuery();
baglanti.Close();
komut.Dispose();
我为命令添加了 komut
OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=BakimVeritabani.accdb");OleDbCommand komut = new OleDbCommand();
我有一个连接。
这可能是您的问题,您的连接可能无法处理多次打开和关闭,您应该每次都创建一个新连接并使用using
语句处理它。
using(OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=BakimVeritabani.accdb")
using(OleDbCommand komut = new OleDbCommand())
{
isim = comboBox1.Text;
yapilacak_is = textBox1.Text.Trim();
bolum = comboBox2.Text.Trim();
tarih = monthCalendar1.SelectionRange.Start.ToShortDateString();
durum = comboBox3.Text;
int idm = Convert.ToInt32(gelenid);
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = @"UPDATE Bakim SET [Ad]=@isim,
[Bolum]=@bolum,
[Yapilacak_Is]=@yapis,
[Tarih]=@tarihim,
[Durum]=@durum
WHERE [Id]=@Id";
komut.Parameters.AddWithValue("@isim", isim);
komut.Parameters.AddWithValue("@yapis", yapilacak_is);
komut.Parameters.AddWithValue("@bolum", bolum);
komut.Parameters.AddWithValue("@tarih", tarih);
komut.Parameters.AddWithValue("@durum", durum);
// Moved after the Cover parameter
komut.Parameters.AddWithValue("@Id", idm);
komut.ExecuteNonQuery();
}