Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过读取excel单元格执行查询_C#_.net_Sql_Oracle - Fatal编程技术网

C# 通过读取excel单元格执行查询

C# 通过读取excel单元格执行查询,c#,.net,sql,oracle,C#,.net,Sql,Oracle,通常,我们通过C连接到Oracle数据库,然后通过C执行查询。但是,我有一个excel工作表。在那张excel表格的F单元格下,我把我的查询写在一个单元格中。我已将此单元格的值存储为strParam1。声明如下: String strParam1 = Convert.ToString(xlRange.Cells[row, 6].Value); 我希望我的程序读取该单元格并执行该单元格下编写的任何查询,即我希望我的代码读取strParam1并执行查询。这里如何使用excel工作表获取和执行查询语

通常,我们通过C连接到Oracle数据库,然后通过C执行查询。但是,我有一个excel工作表。在那张excel表格的F单元格下,我把我的查询写在一个单元格中。我已将此单元格的值存储为strParam1。声明如下:

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();
        }

如果我理解了你的问题,这个问题看起来很简单,我想我没有理解,这就是你想要做的

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();
        }

也许我不明白这个问题,但你就不能直接执行command.CommandText=strParam1@ErenErsönmez在那个单元格中,我给出了我的查询Select*from任务,但它抛出了一个异常无效字符当你问一个问题时,请在出现错误时发布错误和堆栈跟踪。此外,如果您正在运行SELECT,ExecuteOnQuery是非常无用的。您应该使用,以便可以读取查询结果。在excel工作表的该单元格中,我给出了我的查询Select*from任务,但它引发了一个异常无效字符我不知道…在该单元格中,我键入Select*from任务,但它引发了dis exception…我还尝试了Select*from任务;然后,它还会抛出相同的异常。我不完全确定它将如何响应将Select查询作为非查询执行。听起来SQL比C更像是一个问题。试着直接在SQL中运行命令,看看会发生什么。但事实上,你正在做一个选择可能会导致问题我编辑代码作为康涅狄格州开放;OracleCommand=conn.CreateCommand;//command.CommandText=strParam1;command.CommandText=Select*from\Task\;OracleDataReader=command.ExecuteReader;指挥、处置;现在,我可以看到结果了。我使用OracleDataReader。但是,如果我像u所说的那样给出strParam1,并在excel工作表单元格中键入相同的查询,我会得到exceptionExecuteNonQuery和SELECT,这不是问题,尽管非常无用。SQL肯定有问题。