2012-07-09 40 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.";