错误没有给出一个或多个必需参数的值。'从excelsheet中选择 [英] Error no value given for one or more required parameters.' select from excelsheet

查看:49
本文介绍了错误没有给出一个或多个必需参数的值。'从excelsheet中选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 

当我尝试从Excel工作表中获取数据时,我收到错误


没有给出一个或多个必需参数的值。'


为什么会发生这种情况


我使用excelsheet 2013在visual studio 2010中工作


我在c#中的代码如下:


 public DataTable ShowWrongExcelData()

{

string connectionString = string .Format(" Provider = Microsoft.ACE.OLEDB.12.0; Data Source = {0}; Extended Properties = \" Excel 12.0 Xml; HDR = YES; IMEX = 1 \";",txtPath。文本);



OleDbConnection con = new OleDbConnection(connectionString);





con.Open();

string str = @" SELECT [رقمالاستمارة] as [UnitCode],[قراءةالعداد] as [CurrentMeterReading] FROM [Sheet5 $] where [CurrentMeterReading]< = 0" ;;



OleDbCommand com = new OleDbCommand();

com = new OleDbCommand(str,con);

OleDbDataAdapter oledbda = new OleDbDataAdapter();

oledbda = new OleDbDataAdapter(com);

DataSet ds = new DataSet();

ds = new DataSet();

oledbda.Fill(ds," [Sheet5 $]");

con.Close();

System.Data.DataTable dt = new System.Data.DataTable();

dt = ds.Tables [" [Sheet5 $]"];

返回dt;





}





为什么会出现这个错误我不使用任何参数



但是当我选择Excel表格中的所有数据时如下:



@"SELECT [رقمالاستمارة] as [UnitCode],[قراءةالعداد] as [CurrentMeterReading] FROM [Sheet5 $]" ;;

¥ b $ b我没有任何问题得到数据



所以请问如何解决这个错误?



Excel表格InvoiceData.xlsx样本


解决方案

Take仔细看看这一行:

  oledbda   填充   ds     " [Sheet5 


" );

根据有关&absp; OleDbDataAdapter.Fill
Method
当你要填充数据集时,这个重载有三个参数,但你只是使用两个。 


wizend


 

When i try to get data from excel sheet i get error

no value given for one or more required parameters.'

why this happen

i work in visual studio 2010 with excelsheet 2013

my code in c# as following

  public DataTable ShowWrongExcelData()

           {

               string connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", txtPath.Text);

    

               OleDbConnection con = new OleDbConnection(connectionString);

    

    

               con.Open();

               string str = @"SELECT  [رقم الاستمارة] as [UnitCode],[قراءة العداد]as[CurrentMeterReading] FROM  [Sheet5$] where [CurrentMeterReading] <= 0 ";

             

               OleDbCommand com = new OleDbCommand();

               com = new OleDbCommand(str, con);

               OleDbDataAdapter oledbda = new OleDbDataAdapter();

               oledbda = new OleDbDataAdapter(com);

               DataSet ds = new DataSet();

               ds = new DataSet();

               oledbda.Fill(ds, "[Sheet5$]");

               con.Close();

               System.Data.DataTable dt = new System.Data.DataTable();

               dt = ds.Tables["[Sheet5$]"];

               return dt;

    

    

           }



why give this error i dont use any parameters

but when i select all data from Excel sheet as following :

@"SELECT [رقم الاستمارة] as [UnitCode],[قراءة العداد]as[CurrentMeterReading] FROM [Sheet5$]";

I get data without any problem

so that How to solve this error please ?

Excel sheet InvoiceData.xlsx sample

解决方案

Take a closer look at this line:

oledbda.Fill(ds, "[Sheet5


");

According to the documentation about OleDbDataAdapter.Fill Method this overload has three parameters, when you want to fill a dataset, but you only use two. 

wizend


这篇关于错误没有给出一个或多个必需参数的值。'从excelsheet中选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆