【问题标题】:change typeof datatable column更改数据表列的类型
【发布时间】:2013-09-12 07:39:26
【问题描述】:

我想更改数据表中列的值。 数据表中填充了来自 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”不是有效的日期时间。 所以我认为该字段的 de Type 也需要更改,但我不知道如何。

【问题讨论】:

  • 你应该创建一个新列,你应该使用布尔值。

标签: c# mysql types foreach datatable


【解决方案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;
 }

【讨论】:

    猜你喜欢
    • 2014-03-05
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 2011-05-17
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多