2013-12-16 110 views
1

我正在編寫一個程序來管理辦公室。 (擺脫Excels XD)。在不使用DataAdapter.Fill的情況下更新數據表2次

我有以下變量DAL類:

private MySqlConnection connection; 
    private DataSet ds; 
    private Hashtable adapters; 

有以下方法:

public bool AddTable(string tableName, string sqlStat) 
    { 
     if (!ds.Tables.Contains(tableName)) 
     { 
      MySqlDataAdapter adapter = new MySqlDataAdapter(sqlStat, connection); 
      MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter); 
      adapter.InsertCommand = builder.GetInsertCommand(); 
      adapter.UpdateCommand = builder.GetUpdateCommand(); 
      adapter.DeleteCommand = builder.GetDeleteCommand(); 
      adapter.Fill(ds, tableName); 
      adapters.Add(tableName, adapter); 
      return true; 
     } 
     return false; 
    } 

程序將被連接到與MySQL數據庫的服務器。 我需要確保當一個客戶端更改數據庫中的某些內容時,另一個客戶端將看到新的數據,但這不會發生。

+0

我們需要更多的信息。什麼是UpdateCommand?其他客戶如何選擇(最近更新的)數據? – Sire

+0

程序在同一時間運行有多個實例。都打開同一張桌子。該程序向他們展示了所有的信息。 (他們看到同一張桌子)。然後其中一人編輯表格並保存。 (MySQL_Database具有保存的編輯)。現在::第二個將不會看到編輯,直到他將重新啓動程序。我需要,並且必須使第二個只需要刷新顯示錶格的形式。 – user2556154

回答

0

您需要閱讀樂觀併發性,這有助於解決多個用戶同時讀取和更新相同數據的問題。

我建議你從這裏開始:

+0

我不知道如何。但在閱讀有關此主題的微軟信息之後,我現在在代碼中出現此錯誤,而只有一個正在運行的程序實例。我認爲在自動更新命令有問題,但我檢查了參數,我沒有看到任何問題.. – user2556154

相關問題