100分求教一个导入问题。。急用
做EXCEL导入SQL表时,只导入了EXCEL里面的第一行,其余的都不显示,代码应该如何改呢?谢谢。。。。代码如下:
Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & "; Extended Properties=Excel 8.0;"
Try
Dim oleDbConnection As OleDbConnection = New OleDbConnection(sConnectionString)
oleDbConnection.Open()
'获取excel表
Dim dataTable As DataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
'获取sheet名,其中(0)(1)...(N): 按名称排列的表单元素
Dim tableName As String = dataTable.Rows(0)(2).ToString().Trim()
tableName = "[" & tableName.Replace(" ' ", " ") & "]"
'利用SQL语句从Excel文件里获取数据
Dim query As String = "SELECT 发生时间,工号,制造单号,货号,床号,工序标识,工价,数量 FROM " & tableName
Dim dataset As DataSet = New DataSet()
Dim oleAdapter As OleDbDataAdapter = New OleDbDataAdapter(query, sConnectionString)
oleAdapter.Fill(dataset, "导入表")
'SQL数据库连接
Dim sqlcon As SqlClient.SqlConnection = New SqlClient.SqlConnection("server=(local);database=sx;user id=sa;password=123")
sqlcon.Open()
'从excel文件获得数据后,插入记录到SQL Server的数据表
Dim dataTable1 As DataTable = New DataTable()
Dim sqlDA1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter("SELECT 发生时间,工号,制造单号,货号,床号,工序标识,工价,数量 FROM 导入表 ", sqlcon)
Dim sqlCB1 As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(sqlDA1)
sqlDA1.Fill(dataTable1)
Dim dataRow11 As DataRow
For Each dataRow11 In dataset.Tables("导入表").Rows
'sql里数据dataRow1
Dim dataRow1 As DataRow = dataTable1.NewRow()
dataRow1("发生时间") = dataRow11("发生时间")
dataRow1("工号") = dataRow11("工号")
dataRow1("制造单号") = dataRow11("制造单号")
dataRow1("货号") = dataRow11("货号")
dataRow1("床号") = dataRow11("床号")
dataRow1("工序标识") = dataRow11("工序标识")
dataRow1("工价") = dataRow11("工价")
dataRow1("数量") = dataRow11("数量")
dataTable1.Rows.Add(dataRow1)
Next
MsgBox("新插入 " & dataTable1.Rows.Count.ToString() & " 条记录 ")
sqlDA1.Update(dataTable1)
oleDbConnection.Close()
Catch ex As Exception
MsgBox(ex.ToString())
End Try