我有这个数据表,实际上是一个数据表列表
List<DataTable> lstDataSource
,现在对于列表中的每个表,我知道正好有6行,(星期一到星期六!),但是可以有任意数量的列(从6到14,即小时数)员工每天都在工作!)
所以我知道每个数据表中行和列的限制。我的观点是如何使用此数据表列表来更新(而非插入)读取数据库表EmpWorkSchedule
中的所有这些值。
我所知道的是,插入的总行数是lstDataSource.Count * 6
对吗?此外,对于任何没有值的列,(某些员工工作6小时,大约7小时等等),该行中的其他列只会设置为null。 (它们在数据库中被定义为可空)。我希望我清楚自己。那么,我该怎么做呢?
此外,如果有任何不清楚的地方,请随时询问。
编辑:我有DataTable
List<DataTable> lstDataTable
的这个列表,我想要的是将列表中每个表中的所有行插入到名为的数据库表中EmpWorkSchedule
,每行中的所有值都是顺序的,即第一列对应于数据库表中的第1列,依此类推,好吗?但是现在所有行都有所有列的值,有些有6个,有些有7个,有些有8个。我想要的是,对于列,数据行中没有值,应该在数据库表中保留为null,应该插入所有值。
另外,使用改编似乎不太可能,因为它与select一起使用,我没有选择任何东西,我正在插入一些东西。
答案 0 :(得分:0)
也许您只需要在DataTable上循环并保存数据库中的每一行记录 喜欢的东西:
您的DataTable
Col1 | Col2
abc | 456
def | 789
在你的代码背后做类似的事情:
foreach(DataRow row in YourDataTable.Rows)
{
string myColumn1 = row["Col1"].ToString();
int mycolumn2 = Convert.ToInt32(row["Col2"]);
//Your Insert Statement
//First Loop you will get
//myColumn1 = abc and myColumn2=456
//2nd loop will be def and 789
}
此致