2012-07-05 38 views
0

通常,我們通過C#連接到Oracle數據庫,然後通過C#執行查詢。但是,我有一個Excel表格。在Excel表格中,在F單元格下,我在單元格中寫入查詢。我已經將這個單元格的值存儲爲strParam1。聲明如下:通過讀取excel單元執行查詢

String strParam1 = Convert.ToString(xlRange.Cells[row, 6].Value); 

我希望我的程序讀取該小區並執行任何查詢,該小區即我希望我的代碼來讀取strParam1和執行查詢下寫成的。如何在這裏使用excel表格獲取和執行查詢語句?

發佈我的代碼

public void UpdateDatabase() 
     { 
      System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection(); 
      conn.ConnectionString = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.144)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)));UID=mwm;PWD=mwm"; 
      conn.Open(); 
      OracleCommand command = conn.CreateCommand(); 
      command.CommandText = "Select * from \"Task\""; 
      command.ExecuteNonQuery(); 
      command.Dispose(); 
     } 
+2

也許所有我不明白這個問題,但是你不能只是做'command.CommandText = strParam1;'? –

+0

@ErenErsönmez在那個單元格中,我給我的查詢從任務中選擇*但是它會拋出一個異常「無效的字符」 – user1501034

+0

當您在SO上提出問題時,請在發生錯誤時發佈錯誤和堆棧跟蹤。另外,如果你運行一個'SELECT','ExecuteNonQuery'就沒用了。您應該使用['ExectuteReader'](http://msdn.microsoft.com/en-us/library/ab4kxd8h),以便您可以讀取查詢的結果。 –

回答

0

如果我明白你的問題,這似乎很簡單,我想我不是,這是你想要做

public void UpdateDatabase() 
     { 
      System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection(); 
      conn.ConnectionString = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.144)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)));UID=mwm;PWD=mwm"; 
      conn.Open(); 
      OracleCommand command = conn.CreateCommand(); 
      command.CommandText = strParam1; 
      command.ExecuteNonQuery(); 
      command.Dispose(); 
     } 
+0

在Excel表格中,我給我的查詢選擇*從任務但它會拋出一個異常「無效的字符」 – user1501034

+0

哪個字符 –

+0

我不知道...在那個單元格中,我輸入了Select * from Task,但它會拋出dis異常...我也試過從任務中選擇*;那麼它也會拋出同樣的異常 – user1501034

相關問題