我想更改数据表中列的值。 数据表中填充了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”不是有效的日期时间。 所以我认为该领域的类型也需要改变,但我不知道如何。
答案 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;
}