1

我正在使用Visual Studio 2010.在該項目中,我們在其中添加了一個DataSet;我們有一個查詢表適配器來完成對SQL Server 2000數據庫的所有查詢。其中一個查詢是使用接收四個參數的存儲過程形成的。其中一個參數是DateTime數據類型。雖然我們簽了很多次,我們收到了意外的異常:異常日期時間OleDbParameter

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. 

解決此工作,如果我們刪除存儲過程的日期時間參數,查詢執行成功,否則,我們得到之前提到的異常。

我們注意到,日期時間參數具有屬性設置如下:

DbType: DateTime 
ProviderType: DBTimeStamp 

的任何方法,努力實現查詢的執行將大大歡迎。

回答

0

當我收到這個錯誤,我不得不改變我的日期參數來告訴數據類型是什麼。

老方法

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

新途徑

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