【发布时间】:2017-07-11 22:07:58
【问题描述】:
我收到错误“System.Runtime.InteropServices.InvalidComObjectException: 'COM 对象无法使用已与其底层 RCW 分离。'”仅当我在 using 块中执行 OleDbCommand 对象时使用 parameters
using (OleDbCommand comm = new OleDbCommand())
{
comm.Connection = conn;
comm.CommandType = CommandType.Text;
string txt = "SELECT* FROM [ListForGroup] WHERE [email] = @email";
comm.Parameters.Add("@email", OleDbType.VarWChar).Value = userEmail;
comm.CommandText = txt;
conn.Open();
OleDbDataReader reader = comm.ExecuteReader();
List<ListForGroups> list = returnLists(reader);
conn.Close();
cmbSelectList.DataSource = list;
cmbSelectList.DisplayMember = "listName";
cmbSelectList.ValueMember = "listForGroupsID";
}
有谁知道原因。我可以解决它以使用OleDbCommand 对象和CommandText 而没有parameters 但我读到这是个坏主意。我想在using 块中执行此操作,以确保所有资源都将被释放。
【问题讨论】:
标签: c# database exception using comobject