2014-01-08 30 views
0

我正在開發用C#和SQLite的應用選擇。我的問題是,我需要同時執行INSERT查詢和SELECT查詢。如果我更詳細地解釋我的問題;C#SQLite的插入,並在同一時間

比方說,我的數據庫名字爲MYDB

我導入一個1 MB的文本文件MYDB。雖然這種進口是加工,是另一個窗口(在同一個應用程序,並使用相同的連接和同一個數據庫文件),可以執行SELECT查詢?

謝謝你的幫忙!

+0

儘管有可能,你最好整理方式不同。一個廉價的解決方案。將填充數據庫和(從該數據庫,你做一次,當你打開窗口SELECT)與INSERT'ed行(將其插入到數據庫中,並進入「另一個窗口」的視圖)視圖。其他解決方案是顯示進度應用寬(每次操作後更新)和更新「另一個窗口」較不頻繁地(至例如,一旦在幾秒鐘)。這是假設沒有其他用戶正在使用數據庫。否則......繼續思考= D – Sinatr

回答

0

好,爲什麼你需要選擇?你會得到一些插入並放在另一個表中?或者程序需要保持運行,就像沒有任何運行?

如果您需要選擇把在另一個表,你可以使用它: SELECT * FROM鱈遞減限制1表的順序;

,或者,如果你需要保持運行,您將需要一個線程,它的一個例子:

onLoad() 
{ 
Thread t = new Thread(new ThreadStart(t_trigger)); 
      t.Start(); 
} 


private void t_trigger() 
{ 
table_insert(string d) 
} 

private delegate void delegate_table_insert(string d); 

private void table_insert(string d) 
     { 
      if (InvokeRequired) 
      { 
       try 
       { 
        Invoke(new delegate_table_insert(table_insert), d); 
       } 

       catch (Exception ex) 
       { 
        //MessageBox.Show(ex.Message); 
       } 
      } 
      else 
      { 
       try 
       { 
        // here run the code 
       } 

       catch (Exception ex) 
       { 
        //MessageBox.Show(ex.Message); 
       } 
      }