Visual studio 2010 异常日期时间OLEDB参数

Visual studio 2010 异常日期时间OLEDB参数,visual-studio-2010,stored-procedures,parameters,sql-server-2000,oledb,Visual Studio 2010,Stored Procedures,Parameters,Sql Server 2000,Oledb,我正在使用VisualStudio2010。在项目中,我们在其中添加了一个数据集;我们有一个查询表适配器来对SQLServer2000数据库执行所有查询。其中一个查询是使用接收四个参数的存储过程形成的。其中一个参数是日期时间数据类型。尽管我们已经检查了很多次,但我们收到了一个意外的异常: Provider encountered an error while sending command parameter[0] '' value and stopped processing. Convers

我正在使用VisualStudio2010。在项目中,我们在其中添加了一个数据集;我们有一个查询表适配器来对SQLServer2000数据库执行所有查询。其中一个查询是使用接收四个参数的存储过程形成的。其中一个参数是日期时间数据类型。尽管我们已经检查了很多次,但我们收到了一个意外的异常:

Provider encountered an error while sending command parameter[0] '' value and stopped processing.
Conversion failed for command parameter[1] '' because the data value overflowed the type used by the provider.
Provider encountered an error while sending command parameter[2] '' value and stopped processing.
Provider encountered an error while sending command parameter[3] '' value and stopped processing.
Provider encountered an error while sending command parameter[4] '' value and stopped processing.
解决这个问题时,如果我们删除存储过程的DateTime参数,查询将成功执行,否则我们将得到前面提到的异常

我们注意到DateTime参数的属性设置如下:

DbType: DateTime
ProviderType: DBTimeStamp

任何试图完成查询执行的方法都是非常受欢迎的。

当我收到此错误时,我必须更改日期参数以说明数据类型

老路

cmd.Parameters.Add(new OleDbParameter("TDate", DateTime.Now));
新方式

OleDbParameter dateParam = new OleDbParameter("TDate", OleDbType.Date);
dateParam.Value = DateTime.Now;
cmd.Parameters.Add(dateParam);