[英]Ms Access. System.Data.OleDb.OleDbException: No value given for one or more required parameters
I create SelectCommand this way: 我通过以下方式创建SelectCommand:
OleDbCommand SelectCommand = new OleDbCommand(
"SELECT * FROM TableName WHERE Date Between dt_begin = ? and dt_end = ?", connection);
SelectCommand.Parameters.Add("dt_begin", OleDbType.Date).Value = new DateTime(2015, 6, 1);
SelectCommand.Parameters.Add("dt_end", OleDbType.Date).Value = new DateTime(2015, 6, 31);
After execution of this command i get error: 执行此命令后,出现错误:
System.Data.OleDb.OleDbException (0x80040E10): No value given for one or more required parameters.
System.Data.OleDb.OleDbException(0x80040E10):没有为一个或多个必需参数提供值。
First parameter gets 01.06.2015. 第一个参数为01.06.2015。 Second - 30.06.2015.
第二-2015年6月30日。 Not sure in date format, but if it's wrong, i will get corresponding error.
不确定日期格式,但如果输入错误,我将得到相应的错误。 Date is a column name.
日期是列名。
So, what can be wrong? 那么,有什么问题呢? I mean, here is two parameters and both is defined.
我的意思是,这是两个参数,并且两个参数都已定义。
试试这个:
"SELECT * FROM TableName WHERE Date Between ? and ?"
You can also create complete SQL string instead of parameters. 您也可以创建完整的SQL字符串而不是参数。 like,
喜欢,
OleDbCommand SelectCommand = new OleDbCommand(
"SELECT * FROM TableName WHERE Date Between '" + DateTime.Now.ToString("yyyy-MM-dd") + "' and '" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "'", connection);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.