I have this simple code on VB.NET that inserts data from Excel Spreed Sheet to SQL Server database, now i want the data to be inserted on my database automatically without manually calling the columnmapping.a dd. Basically, i will insert the data base on the header row on the excel spread sheet.
Here is my code..
Here is my code..
Code:
Using connection As New OleDbConnection(Excelconnection)
Dim cmd1 As New OleDbCommand("SELECT * FROM [Sheet1$]", connection)
connection.Open()
Dim dr As OleDbDataReader = cmd1.ExecuteReader
Dim sqlconnection As New SqlConnection(ServerConnectionStringProperty)
sqlconnection.Open()
Dim sqlbulkcopy As New SqlBulkCopy(sqlconnection)
Dim destination As String = txtTableName.Text
sqlbulkcopy.DestinationTableName = destination
While dr.Read()
sqlbulkcopy.ColumnMappings.Add(0, 13)
sqlbulkcopy.ColumnMappings.Add(1, 14)
sqlbulkcopy.ColumnMappings.Add(2, 15)
sqlbulkcopy.ColumnMappings.Add(3, 17)
sqlbulkcopy.ColumnMappings.Add(4, 26)
sqlbulkcopy.ColumnMappings.Add(5, 56)
sqlbulkcopy.ColumnMappings.Add(6, 57)
sqlbulkcopy.ColumnMappings.Add(7, 58)
sqlbulkcopy.ColumnMappings.Add(8, 61)
sqlbulkcopy.ColumnMappings.Add(9, 63)
sqlbulkcopy.ColumnMappings.Add(10, 59)
sqlbulkcopy.ColumnMappings.Add(11, 67)
sqlbulkcopy.WriteToServer(dr)
Dim rowsCopied As Integer = SqlBulkCopyHelper.GetRowsCopied(sqlbulkcopy)
MessageBox.Show(String.Concat(rowsCopied, " rows affected"), "Success")
End While
End Using