我使用的是Visual Studio 2010。在项目中,我们在其中添加了一个DataSet;我们有一个查询表适配器来执行对SQL Server2000数据库的所有查询。其中一个查询是使用接收四个参数的存储过程形成的。其中一个参数是DateTime数据类型。虽然我们已经检查了很多次,但我们收到了一个意外的异常:
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任何试图完成查询执行的方法都将是非常受欢迎的。
发布于 2017-10-21 05:34:15
当我收到这个错误时,我不得不更改我的date参数来告诉我数据类型是什么。
老方法
cmd.Parameters.Add(new OleDbParameter("TDate", DateTime.Now));新方法
OleDbParameter dateParam = new OleDbParameter("TDate", OleDbType.Date);
dateParam.Value = DateTime.Now;
cmd.Parameters.Add(dateParam);https://stackoverflow.com/questions/17306493
复制相似问题