簡體   English   中英

Ado.net firebird commit向表中插入新行

[英]Ado.net firebird commit insert new lines to table

我正在使用firebird ado.net客戶端為我們公司的每個訂單的“訂單列表”添加新行到數據庫。 我寫的代碼適用於列出項目,但插入新代碼不會出現在其他地方(例如在flamerobin中)。 我認為發生的事情是事務沒有被提交,因為它在我的代碼中被識別(不能添加重復值)。 碼:

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或db管理程序中看到更新的值。 我錯過了什么嗎?

如果其他人遇到此問題,則在Visual Studio的調試設置中。 https://visualstudiomagazine.com/blogs/tool-tracker/2012/05/dealing-with-local-databases-or-why-your-updates-dont-stick.aspx解釋得非常清楚,但基本上VS制作副本您的數據庫在項目的bin / Debug中(表面上可以不弄亂您的數據)但如果您確實需要在外部使用/查看數據,請將外部應用程序鏈接到調試數據庫(例如flamerobin)。 如果您希望保留更新,則可能還需要將項目數據庫設置設置為“如果更新則復制”,因為默認設置會在每次運行c#app時將數據庫復制到文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM