更改typeof datatable列

时间:2013-09-08 19:21:49

标签: c# mysql types foreach datatable

我想更改数据表中列的值。 数据表中填充了mySql数据库中的日期。 我已经创建了一个函数,根据数据表中的日期将列设置为“Y”或“N”。 然后数据网格填充数据表中的数据。

我做了以下功能:

public static DataTable  DatePastYesOrNo(DataTable myDataTabel, string kolomNaam)
    {
        foreach(DataRow rij in myDataTabel.Rows)
        {
                string datum = myDataTabel.Rows[0][kolomNaam].ToString();
                DateTime myDatum = DateTime.Parse(datum);
                if (myDatum > DateTime.Now)
                {
                    rij[kolomNaam] = "Y";
                }
                else
                {
                    rij[kolomNaam] = "N";
                }
        }
        return myDataTabel;
     }

要执行该功能:

string mijnkolomNaam = "Akkoord";
                HelpFunction.DatePastYesOrNo(sTable, mijnkolomNaam);

我收到错误“N”或“Y”不是有效的日期时间。 所以我认为该领域的类型也需要改变,但我不知道如何。

1 个答案:

答案 0 :(得分:1)

您应该添加一个新的bool列并填充它

DataColumn myBoolCol = myDataTabel.Columns.Add("MyBoolColumn", typeof(bool));

public static DataTable  DatePastYesOrNo(DataTable myDataTabel, string kolomNaam)
{
    foreach(DataRow rij in myDataTabel.Rows)
    {
            string datum = myDataTabel.Rows[0][kolomNaam].ToString();
            DateTime myDatum = DateTime.Parse(datum);
            if (myDatum > DateTime.Now)
            {
                rij["MyBoolColumn"] = "Y";
            }
            else
            {
                rij["MyBoolColumn"] = "N";
            }
    }
    return myDataTabel;
 }