我使用firebird ado.net客戶端爲我們公司的每個訂單創建的「訂單清單」添加了一行新數據庫。我寫的代碼對於列表項目工作正常,但插入新代碼不會出現在別處(例如在flamerobin中)。我認爲發生的事情是交易沒有被提交,看到它在我的代碼中被識別(不能添加重複的值)。 代碼:Ado.net firebird commit在表
using (FbConnection fbCon = new FbConnection)
{
fbCon.Open();
***command w/ parameterised command string***
using (FbTransaction fbTrans = fbCon.BeginTransaction())
using FbCommand orderCommand = new FbCommand(cmdString, fbCon, fbTrans)
{
***Adding parameters and values***
try
{
int recordsAffected = orderCommand.ExecuteNonQuery();
fbTrans.Commit();
}
catch (FbException E)
{
fbTrans.Rollback();
fbCon.Close();
throw E
}
}
RecordsAffected返回1,但我不能看到flamerobin或數據庫管理程序更新的值。我錯過了什麼嗎?
請確保在「其他程序」中也啓動了新的事務 - 否則它們可能會使用舊事務(在添加記錄之前啓動),這些事務看不到新記錄。 – ain
感謝您的建議,但我已經嘗試過。問題是交易沒有錯誤地返回,但似乎沒有提交。我認爲它可能是ado.net客戶端或Visual Studio中的某些東西使連接保持打開狀態?有沒有其他人與這些工作? –