1
我有一個WinForm應用程序使用typed-dataset tabledapters查詢SqlCe數據庫。我有一個主窗體程序集和一個處理每個數據庫操作的數據庫程序集。我遇到了在事務中使用tableadapter更新的問題,我很感激任何人都可以給我任何想法。使用類型化數據集的TransactionScope
Update()方法給出了這樣的錯誤:
"The connection object can not be enlisted in transaction scope."
這裏是我的代碼:
namespace Main
{
public class MainForm
{
private MyDbAssembly.MyDbClass db;
//instantiate and db fill methods omitted..
private void DeleteStuff()
{
using (TransactionScope trans = new TransactionScope())
{
this.db.Delete(id);
UpdateDb();
trans.Complete();
}
}
private void UpdateDb()
{
//bindingsource endedit & datagridview endedit methods omitted..
this.db.Update();
}
}
}
namespace MyDbAssembly
{
public class MyDbClass
{
private myTypedDataset myDataSet;
private myTypedDataSetTableAdapter.MyTable1Adapter table1Adapter;
//instantiate methods omitted..
public void Delete(Guid id)
{
this.myDataSet.MyTable1.FindByID(id).Delete();
}
public void Update()
{
this.table1Adapter.Update(myDataSet.MyTable); //<-- ERROR LINE
}
}
}
你不是問過這個嗎? http://stackoverflow.com/questions/602421 – 2009-06-26 22:20:22