簡體   English   中英

SQLite 數據庫被鎖定 #2

[英]SQLite database is locked #2

我有 2 個查詢,但在更新cmd2.ExecuteNonQuery(); 它拋出一個異常“數據庫被鎖定”:

if (txt_balance.Text != "")
{
    using ( SQLiteConnection con = new SQLiteConnection(obj.getDbSourceFile))
    {
        con.Open();
        SQLiteCommand cmd1 = new SQLiteCommand("SELECT [supplier_balance] FROM [s_supplier] where supplier_name='" + comboPurchaseSupplier.Text + "'", con);
        SQLiteDataReader DR = cmd1.ExecuteReader();
        // hfcconn.Close();
        if (DR.HasRows)
        {
            if (DR.Read())
            {
                //hfcconn.Open();
                using (SQLiteConnection con2 = new SQLiteConnection(obj.getDbSourceFile))
                {
                    SQLiteCommand cmd2 = new SQLiteCommand("update [s_supplier] set supplier_balance=" + (DR.GetInt32(0) + Convert.ToInt32(txt_balance.Text)) + " where supplier_name='" + comboPurchaseSupplier.Text + "'", con2);

                    con2.Open();
                    cmd2.ExecuteNonQuery();


                    DR.Dispose();
                    // con.Close();
                }
            }
        }
     // con.Close();
     }
}

問題是您正在使用兩個連接。

連接(及其事務)彼此隔離,因此第二個連接無法更新第一個連接仍具有打開讀取器的表。

暫無
暫無

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

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