繁体   English   中英

将记录从C#数据表插入数据库

[英]Insert record from c# datatable to a database

我有这个List<DataTable> lstDataSource表,实际上是数据表List<DataTable> lstDataSource ,现在对于列表中的每个表,我都知道确切地有6行(星期一至星期六!),但是可以有任意数量的列(从6开始到14,也就是员工每天工作的小时数!)所以我知道每个数据表中行和列的限制。 我的观点是如何使用此数据表列表来更新(而不是插入)读取的数据库表EmpWorkSchedule所有这些值。 我知道插入的lstDataSource.Count * 6lstDataSource.Count * 6对吗? 另外,对于任何没有值的列(某些员工需要6个小时,7个小时等...),该行中的其他列将被设置为null。 (它们在数据库中定义为可为空)。 我希望我自己弄清楚。 那么,我该怎么做呢?
另外,如果有任何不清楚的地方,请随时提出。

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

另外,使用适配器似乎不太可能,因为它与select一起使用,我没有选择任何东西,而是要插入一些东西。

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

}

问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM