2013-03-12 63 views
-5

我在SQL中超出範圍值時遇到問題,當我在C#Debug中運行它時。但選擇與日期時間轉換,直接在SQL中工作。我能做什麼..?SQL超出C#中的值範圍

WHERE (Edu_Table_1.chatardeba = CONVERT(DATETIME, '" + datesList[dd] + "', 103)) 

... 

List<DateTime> datesList = new List<DateTime>(); 
DataTable dt1 = DataObjects.FetchFromDatabase(String.Format("SELECT date from dates_table", magalkurseli, examType), this.serverAddress, this.dbCatalog); 
if (dt1 != null && dt1.Rows.Count > 0) 
{ 
    foreach (DataRow dr in dt1.Rows) 
    { 
     datesList.Add(Convert.ToDateTime(dr["tarigi"])); 
    } 
} 
+0

什麼日期時間值你想轉換? – 2013-03-12 22:42:35

+4

有沒有機會讓我們看看? – 2013-03-12 22:42:38

+2

你可以發佈代碼,例如... – 2013-03-12 22:42:41

回答

1

這是很容易的問題解決了,這發生,因爲你的數據庫格式是不同形式的.Net日期時間fromat(你可以發送一天,一個月) 所有你需要做的是:

  • 打開SQL管理工作室和運行「選擇GETDATE()」它會返回您的數據庫日期時間格式,
  • 當您收到或發送日期到數據庫確保將其格式更改爲相同的數據庫格式。

    //例如,日期時間在數據庫是 13-03-2013 淨日期對象 dt.toString( 「DD-MM-YYYY」)的變化//格式;

+0

謝謝..會嘗試 – 2013-03-12 23:13:16

2

這裏沒有很多的信息在這裏繼續下去,但根據我看到其他開發人員遇到的問題,我可以對怎麼回事猜...

默認值.NET中的DateTime對象不在sql中的datetime數據類型的有效範圍內。這通常發生在您具有不可計數的DateTime屬性或參數(您未初始化爲有效值(或設置爲default(DateTime)))時發生。

的溶液,通常是使用一個空的列和在DateTime?任何相關C#對象總是初始化DateTime屬性以該SQL期望範圍內的值。

+0

好的,我會盡力,謝謝 – 2013-03-12 22:56:12