通常,我们通过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();
}
也许所有我不明白这个问题,但是你不能只是做'command.CommandText = strParam1;'? –
@ErenErsönmez在那个单元格中,我给我的查询从任务中选择*但是它会抛出一个异常“无效的字符” – user1501034
当您在SO上提出问题时,请在发生错误时发布错误和堆栈跟踪。另外,如果你运行一个'SELECT','ExecuteNonQuery'就没用了。您应该使用['ExectuteReader'](http://msdn.microsoft.com/en-us/library/ab4kxd8h),以便您可以读取查询的结果。 –