存儲過程我有關於存儲過程的小問題和DateTime2
數據類型在SQL Server 2008中的SQL Server 2008與DATETIME2
我使用DateTime2
數據類型的存儲過程,我想插入日期0001.01.01 00:00:00
但這將無法使用VB.net,我無法找到原因。
我用這個代碼片段:
Dim sqlStatement As New SqlClient.SqlCommand
Dim sqlTransaction As SqlClient.SqlTransaction
sqlStatement.CommandType = CommandType.StoredProcedure
sqlStatement.CommandText = "SCHEMA.spInsertDate"
sqlStatement.Parameters.AddWithValue("@Date", "0001.01.01 00:00:00")
sqlStatement.ExecuteNonQuery()
調用從我的程序(存儲過程是一個簡單的INSERT
聲明沒有其他和正常工作與實際日期)的存儲過程。但是,當我輸入日期0001.01.01 00:00:00
時,它總是會出現錯誤,我不能在'01 .01.1753'之前插入日期來執行存儲過程。
現在我已經知道SQL Server中的DateTime2
數據類型應該支持這一點。
所以我的問題是這可能是一個驅動程序問題,更新SQLClient會解決這個問題,或者這是一個普遍的問題,我終於可以停止搜索,只使用1753.01.01。
感謝林
謝謝!這工作:) – Lim
@Lim:是的,'.AddWithValue()'很方便 - 但有時有點危險,因爲它從一開始並不總是顯而易見的'SqlDbType'將被挑選爲您提供的值。我更願意總是**明確地告訴參數什麼'SqlDbType'這是 - 一個(討厭)驚喜的可能性較小... –
我明白你的意思是這是我第一次遇到問題與.AddWithValue ()函數。我將在未來的計劃中記住這一點:)非常感謝你清除那:) – Lim