在asp.net中向excel查询传递参数

本文关键字:参数 查询 excel asp net 中向 | 更新日期: 2023-09-27 18:19:26

我想使用OleDB读取excel文件,但当在查询中插入参数时,我有以下OleDB异常:

没有给出一个或多个所需参数的值

代码

string conn = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES"";", opFileImport.FileName);
string sql = "Select CODICE_FISCALE From [Parte_4$] ";
sql += "where CODICE_FISCALE = ?";
using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter())
{
   dataAdapter.SelectCommand = new OleDbCommand(sql, excelConn);
   dataAdapter.SelectCommand.Parameters.Add(new OleDbParameter("Param1", strCodFisc));
   DataTable dt = new DataTable();
   dataAdapter.Fill(dt);
}

在asp.net中向excel查询传递参数

参数名称应为CODICE_FISCALE,而不是Param1。试试这个代码

var conn = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES"";", opFileImport.FileName);
string sql = "Select CODICE_FISCALE From [Parte_4$] ";
sql += "where CODICE_FISCALE = ?";
DataTable dt = new DataTable();
using (OleDbConnection excelConn = new OleDbConnection(conn))
{
    using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter())
    {
        dataAdapter.SelectCommand = new OleDbCommand(sql, excelConn);
        dataAdapter.SelectCommand.Parameters.Add(new OleDbParameter("CODICE_FISCALE", strCodFisc));
        dataAdapter.Fill(dt);
    }
}