0

我有这个数据表,实际上是一个数据表列表 List<DataTable> lstDataSource,现在对于列表中的每个表,我知道正好有 6 行,(周一到周六!),但是可以有任意数量的列(从 6 到 14,也就是说,员工每天工作的小时数!)所以我知道每个数据表中行和列的限制。我的观点是如何使用这个数据表列表来更新(而是插入)所有这些值到 read database table 中EmpWorkSchedule。我知道插入的总行数是lstDataSource.Count * 6对的吗?此外,对于任何没有值的列,(一些员工工作 6 小时,一些 7 小时等......)该行中的其他列将被设置为空。(它们在数据库中被定义为可为空的)。我希望我说清楚了。那么,我该怎么做呢?
另外,如果有什么不清楚的地方,请随时询问。

编辑:我有这个列表DataTable List<DataTable> lstDataTable,我想要的是将列表中每个表中的所有行插入到名为的数据库表EmpWorkSchedule中,每行中的所有值都是顺序的,即第一列对应于数据库中的第 1 列表之类的,好吗?但是现在所有行都有所有列的值,有些有 6,有些 7,有些 8.. 我想要的是对于列,数据行中没有值,应该在数据库表中保留为空,其余所有值都应插入。

另外,使用adapted 似乎不太可能,因为它与select 一起使用,我没有选择任何东西,我正在插入一些东西。

4

1 回答 1

0

也许您只需要循环您的 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

}

问候

于 2012-06-21T23:06:10.647 回答