2012-05-22 2 views
0

Salut J'ai la chaîne et les entiers auxquels certaines valeurs sont affectées. Maintenant, je dois lire les valeurs de chaîne et entier pour les attribuer à la datatable que je l'ai créé à l'aide VB.Net ..VB.Net attribue des valeurs à la valeur

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 

S'il vous plaît aidez-moi sur ce ..

+0

J'Assigned certaines valeurs à certaines variables en lisant à partir d'Excel. Maintenant, j'ai besoin d'assigner ces valeurs une par une à datatable. Donc, dans ce cas, j'ai besoin d'aide pour remplir ligne par ligne sur la table en lisant les valeurs. alors la table complète doit être sauvegardée dans la base de données – Bramenath

+0

mettez votre code ayant un problème pour sauvegarder les données dans DataTable .. –

Répondre

1

Essayez ceci pour vider la feuille entière à DataTable:

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; 
     } 

Edit: Comme par question mise à jour

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 

Trouvez la Ligne de DtEmployee table et mise à jour d'un ou si vous voulez ajouter de nouvelles lignes alors ne pas trouver la ligne, il suffit de créer une nouvelle ligne et valeur définie et ajouter à DtEmployee

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

Hope this aide ..

+0

Si dt.Rows.Count> 0 Alors Pour n As Entier = 0 À dt.Rows.Count - 1 EmployeeNo = (dt.Rows (n) (0)) = EmpName (dt.Rows (n) (1)). ToString Commission = CDbl (dt.Rows (n) (2)) \t \t \t \\ Je dois lire un par un et affecter le [EmployeeNo, EmpName, Commission] à l'ensemble de données DtEmployee dans lequel \t \t \t Employé est la table et EmpNo, EmpName, Commission sont les colonnes .. \t \t Suivant Fin Si – Bramenath

+0

Vérifiez la réponse mise à jour –

+0

Ya grâce .. Son travail parfaitement ... – Bramenath

Questions connexes