2012-07-05 2 views
0

Обычно мы подключаемся к Oracle DB через C#, а затем выполняем запросы через C#. Но у меня есть листок превосходства. В этом листе 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, пожалуйста, размещайте ошибки и трассировку стека всякий раз, когда вы получаете сообщение об ошибке. Кроме того, 'ExecuteNonQuery' довольно бесполезен, если вы используете' SELECT'. Вы должны использовать ['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, но он выбрасывает исключение ... я также попытался выбрать * из задачи; то также он выбрасывает одно и то же исключение – user1501034

Смежные вопросы