ahmed_sa Ответов: 1

Ошибка не задано значение для одного или нескольких требуемых параметров выберите из excelsheet.


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

	<pre lang="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.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;

	 

	 

	       }


зачем давать эту ошибку, я не использую никаких параметров .

но когда я выбираю все данные из листа Excel следующим образом :

@"Выберите [رقم الاستمارة] в качестве [UnitCode],[قراءة العداد]в качестве[CurrentMeterReading] из [Sheet5$]";

Я получаю данные без каких-либо проблем

так вот как решить эту ошибку, пожалуйста ?

Лист Excel InvoiceData.xlsx образец

[^]

Что я уже пробовал:

error no value given for one or more required parameters.' select from excelsheet 

1 Ответов

Рейтинг:
0

Wendelius

Если я правильно понял ваш вопрос у вас нет столбца с именем CurrentMeterReading в вашем листе Excel это просто псевдоним, который вы даете для столбца при выборе данных. Имя столбца в предложении WHERE должно ссылаться на имена столбцов на листе.

Попробуйте что - нибудь вроде

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