2012-07-09 64 views
0

我有查詢 我需要更改值,如果value =「0000-00-00 00:00:00」然後新值 row =「沒有時間」,怎麼樣?更改查詢的值

dt.Load(cmd.ExecuteReader()); 
source.DataSource = dt; 

所以我用

source[2] = (source[2] == "0000-00-00 00:00:00") ? "no time" : source[2]; 

但它了錯,我認爲需要使用,而?

+0

你如何到達'0000-00-00 00:00:查詢00'(也許你可以添加一些有) – V4Vendetta 2012-07-09 09:58:30

回答

1

打賭改變數據源的查詢,但如果你沒有訪問權限,例如你從某些第三方Web服務獲取數據假設你不想改變爲什麼你從數據中獲取數據源代碼(Web服務/數據庫)您可以在C#代碼中更改數據表並將其分配給GUI控件的數據源。

foreach (DataRow dr in dt.Rows) 
{ 
    if (dr[2] == "0000-00-00 00:00:00") 
     dr[2] = "No time"; // Use column name instead if possible dr["yourcolumnname"] 
} 

source.DataSource = dt; 
+0

無法轉換將MySQL日期/時間值設置爲System.DateTime – 2012-07-09 10:43:15

+0

您需要從控件中獲取沒有時間的值,並將其轉換回默認日期或null,以便適合您插入MYSQL。 – Adil 2012-07-09 10:54:20

0

改變if語句:

if (source[2] == "0000-00-00 00:00:00") source[2] = "no time.";