将记录从 c# 数据表插入到数据库



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

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

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

也许您只需要在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
}

问候

最新更新