访问女士。 System.Data.OleDb.OleDbException: 没有为一个或多个必需参数提供值
Ms Access. System.Data.OleDb.OleDbException: No value given for one or more required parameters
我这样创建 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);
执行此命令后出现错误:
System.Data.OleDb.OleDbException (0x80040E10): No value given for one
or more required parameters.
第一个参数获取 01.06.2015。第二 - 2015 年 6 月 30 日。不确定日期格式,但如果它是错误的,我会得到相应的错误。日期是列名。
那么,有什么问题吗?我的意思是,这里有两个参数并且都已定义。
试试这个:
"SELECT * FROM TableName WHERE Date Between ? and ?"
您还可以创建完整的 SQL 字符串而不是参数。
喜欢,
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);
我这样创建 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);
执行此命令后出现错误:
System.Data.OleDb.OleDbException (0x80040E10): No value given for one or more required parameters.
第一个参数获取 01.06.2015。第二 - 2015 年 6 月 30 日。不确定日期格式,但如果它是错误的,我会得到相应的错误。日期是列名。
那么,有什么问题吗?我的意思是,这里有两个参数并且都已定义。
试试这个:
"SELECT * FROM TableName WHERE Date Between ? and ?"
您还可以创建完整的 SQL 字符串而不是参数。 喜欢,
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);