C# - OleDBDataAdapter.Fill(DataSet) 抛出 "No value given for one or more required parameters. "
C# - OleDBDataAdapter.Fill(DataSet) throws "No value given for one or more required parameters. "
我有以下代码来访问 .xlsx 文件并获取名为 "Sheet1" 的 sheet 作为 table。然后我使用 select 命令 select URL 和用户名的值。
string strPath = @"C:\Users\...\TestData.xlsx";
string strExcelConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strPath + ";Extended Properties=\"Excel 12.0 Xml;HDR=No;IMEX=1\";");
OleDbConnection connExcel = new OleDbConnection(strExcelConn);
try
{
connExcel.Open();
DataTable dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
OleDbCommand cmdExcel = new OleDbCommand("SELECT URL, Username From [" + SheetName + "]",connExcel);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter("SELECT URL, Username From [" + SheetName + "]", strExcelConn);
cmdExcel.CommandText = "SELECT URL, Username From [" + SheetName + "]";
Console.WriteLine(cmdExcel.CommandText);
da.Fill(ds);
connExcel.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
connExcel.Close();
}
不幸的是,我在适配器的数据填充过程中遇到以下错误。
da.Fill(ds);
错误说
Message: System.Data.OleDb.OleDbException : No value given for one or more required parameters.
有人可以帮我找到解决方案吗?
只有当我尝试 select 特定列时才会出现问题。如果我有 Select * 来自,它工作正常。
但是,不确定实际问题。
我有以下代码来访问 .xlsx 文件并获取名为 "Sheet1" 的 sheet 作为 table。然后我使用 select 命令 select URL 和用户名的值。
string strPath = @"C:\Users\...\TestData.xlsx";
string strExcelConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strPath + ";Extended Properties=\"Excel 12.0 Xml;HDR=No;IMEX=1\";");
OleDbConnection connExcel = new OleDbConnection(strExcelConn);
try
{
connExcel.Open();
DataTable dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
OleDbCommand cmdExcel = new OleDbCommand("SELECT URL, Username From [" + SheetName + "]",connExcel);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter("SELECT URL, Username From [" + SheetName + "]", strExcelConn);
cmdExcel.CommandText = "SELECT URL, Username From [" + SheetName + "]";
Console.WriteLine(cmdExcel.CommandText);
da.Fill(ds);
connExcel.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
connExcel.Close();
}
不幸的是,我在适配器的数据填充过程中遇到以下错误。
da.Fill(ds);
错误说
Message: System.Data.OleDb.OleDbException : No value given for one or more required parameters.
有人可以帮我找到解决方案吗?
只有当我尝试 select 特定列时才会出现问题。如果我有 Select * 来自,它工作正常。
但是,不确定实际问题。