2012-05-22 76 views
0

嗨,我有字符串和整数,一些值分配给。现在我需要阅读的字符串和整数值,并将它们分配给我所使用VB.Net创建的数据表..VB.Net为数据表赋值

If dt.Rows.Count > 0 Then 
For n As Integer = 0 To dt.Rows.Count - 1 
EmployeeNo = (dt.Rows(n)(0)) 
EmpName = (dt.Rows(n)(1)).ToString 
Commission = CDbl(dt.Rows(n)(2)) 
'I need to read one by one and assign the [EmployeeNo,EmpName,Commission] 
'to the dataset DtEmployee in which Employee is the table and EmpNo, EmpName, Commission 'are the coloumns.. 
Next 
End If 

请帮我在这..

+0

我布置了一些值从excel中读取一些变量。现在我需要将这些值逐个分配给数据表。所以在这种情况下,我需要帮助通过读取值在表上逐行填充。那么完整的表格应该保存到数据库 – Bramenath

+0

把你的代码有问题保存到DataTable的数据.. –

回答

1

试试这个倾倒整个表到数据表:

var connectionString = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";" 
     var sheetName = "Sheet1"; 

     using (var con = new OleDbConnection(connectionString)) 
     { 
      con.Open(); 

      var table = new DataTable(sheetName); 
      var query = "SELECT * FROM [" + sheetName + "]"; 
      OleDbDataAdapter adapter = new OleDbDataAdapter(query, con); 
      adapter.Fill(table); 
      return table; 
     } 

编辑:根据更新的问题

If dt.Rows.Count > 0 Then 
For n As Integer = 0 To dt.Rows.Count - 1 
EmployeeNo = (dt.Rows(n)(0)) 
EmpName = (dt.Rows(n)(1)).ToString 
Commission = CDbl(dt.Rows(n)(2)) 
'I need to read one by one and assign the [EmployeeNo,EmpName,Commission] 
'to the dataset DtEmployee in which Employee is the table and EmpNo, EmpName, Commission 'are the coloumns.. 

Dim dataRow As DataRow = DtEmployee.Tables("Employee").AsEnumerable().Where(Function(row) row.Field(Of String)("EmpNo") = EmployeeNo).SingleOrDefault() 
If dataRow IsNot Nothing Then 

//Set your DataRow 
dataRow("EmpName") = EmpName 
dataRow("Commission ") = Commission 
DtEmployee.AcceptChanges(); 
End If 

Next 
End If 

查找从划船DtEmployee表和更新的一个或如果要添加新行,然后不找行,只要创建新行与设定值,并加入到DtEmployee

DataRow dataRow = DtEmployee.Tables("Employee").NewRow() 
//Set your DataRow 
dataRow("EmpName") = EmpName 
dataRow("Commission ") = Commission 
DtEmployee.Tables("Employee").Rows.Add(dataRow) 

希望这有助于..

+0

如果dt.Rows.Count> 0 Then For n As Integer = 0 To dt.Rows.Count - 1 为employeeno =(dt.Rows(n)的(0)) EmpName =(dt.Rows(N)(1))。的ToString 委员会= CDbl(dt.Rows(n)的(2)) \t \t \t \\我需要逐一阅读并将[EmployeeNo,EmpName,Commission]分配给数据集DtEmployee,其中员工是表格,EmpNo,EmpName,Commission是coloumns .. \t \t下一页 结束如果 – Bramenath

+0

检查更新的答案 –

+0

雅感谢..它的工作完美... – Bramenath