将行添加到数据表#2
本文关键字:数据表 添加 | 更新日期: 2023-09-27 18:24:54
我有一个数据表,有些列是字符串,有些是十进制。当我添加一行时,它会自动转换信息吗?还是我必须自己转换?我有很多数据需要添加到表格中,目前我正在使用这个:
DataRow row = dataTable.NewRow();
row["item1"] = Info[0];
row["Item2"] = Info[1];
row["item3"] = Info[2];
row["Item4"] = Convert.ToDecimal(Info[3]);
row["…"]是一个对象,可以采用任何类型。如果你的Info[n]是一个字符串,你可以根据需要将其转换为正确的类型。我不知道Info是否是一个集合,但如果是,为什么不做这样的事情呢:
List<Info> infoList = new List<Info>();
infoList.Add(...); //Add item here.
foreach(Info info in infoList)
{
DataRow row = dataTable.NewRow();
row["item1"] = info.Item1; //where Item1 could be a string
row["Item2"] = info.Item2; //where Item2 could be an int
row["item3"] = info.Item3; //Where Item3 could be a DateTime
row["Item4"] = info.Item4; //Where Item4 could be a Decimal
}
Alex Mendez请查看此链接:http://msdn.microsoft.com/en-us/library/system.data.datatable.newrow.aspx,我认为你错过了指示的代码行(见下文):
foreach(Info info in infoList)
{
DataRow row = dataTable.NewRow();
row["item1"] = info.Item1; //where Item1 could be a string
row["Item2"] = info.Item2; //where Item2 could be an int
row["item3"] = info.Item3; //Where Item3 could be a DateTime
row["Item4"] = info.Item4; //Where Item4 could be a Decimal
dataTable.Rows.Add(row); //<-- You need to add this line to actually save the value to the Data Table
}
检查文档:Datatable Addrow
如果你的DataTable不是类型化的,是的,你必须将数据转换为预期的类型,如果是类型化的DataTable,它会转换数据,比如:
int number = "0";
也可以设置列类型。