VB – 连接到本地SQL服务器并从Excel中加载数据到表中

我想连接到我的本地SQL Server的VB代码,并从我的Excel文件加载数据到表中。 这是我迄今为止与我的代码是不完整的。 我在SQL数据库中创build的表(me_table)的字段是z,ad,ag,retd,to,wg,并且在sheet1中是具有反映表中字段的数据的列。 谢谢

请指教

Imports System.Data Imports System.Data.SqlClient Module Module1 Dim myconnection As SqlConnection Dim mycommand As SqlCommand Dim dr As SqlDataReader Dim dr1 As SqlDataReader Dim ra As Integer Sub Main() Dim connectionString As String = "Server=DER7D;Database=testDB;User Id=DER7D\Der;Password=" myconnection = New SqlConnection("server=DER7D;uid=root;pwd=;database=simple") 'you need to provide password for sql server myconnection.Open() End Sub End Module 

不考虑好的devise,这是你所需要的。 只需更新SqlConnectionstring。 如果您决定要使用多个工作表,只需将它们添加到工作表variables。

 Private Sub SaveDataFromSpreadsheet() Dim filePath = "directory\me_spreadsheet.xlsx" Dim connectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", filePath) Dim worksheets As New List(Of String)() From { "Sheet1" } For i As Integer = 0 To worksheets.Count - 1 Dim worksheetName As String = worksheets(i) Dim adapter = New OleDbDataAdapter(String.Format("SELECT * FROM [{0}$]", worksheetName), connectionString) Dim ds = New DataSet() adapter.Fill(ds, "me_table") Dim data As DataTable = ds.Tables("me_table") For x As Integer = 0 To data.Rows.Count - 1 Dim z As String = If(String.IsNullOrEmpty(data.Rows(x).ItemArray(0).ToString()), "", data.Rows(x).ItemArray(0).ToString()) Dim ad As String = If(String.IsNullOrEmpty(data.Rows(x).ItemArray(1).ToString()), "", data.Rows(x).ItemArray(1).ToString()) Dim ag As String = If(String.IsNullOrEmpty(data.Rows(x).ItemArray(2).ToString()), "", data.Rows(x).ItemArray(2).ToString()) Dim retd As String = If(String.IsNullOrEmpty(data.Rows(x).ItemArray(3).ToString()), "", data.Rows(x).ItemArray(3).ToString()) Dim wg As String = If(String.IsNullOrEmpty(data.Rows(x).ItemArray(4).ToString()), "", data.Rows(x).ItemArray(4).ToString()) Using myconnection As New SqlConnection("Data Source=Your-Server;Initial Catalog=me_database;Integrated Security=True") myconnection.Open() Dim mycommand As New SqlCommand("INSERT INTO me_Table(z, ad, ag, retd, wg) VALUES(@z, @ad, @ag, @retd, @wg)", myconnection) mycommand.Parameters.Add(New SqlParameter("@z", z)) mycommand.Parameters.Add(New SqlParameter("@ad", ad)) mycommand.Parameters.Add(New SqlParameter("@ag", ag)) mycommand.Parameters.Add(New SqlParameter("@retd", retd)) mycommand.Parameters.Add(New SqlParameter("@wg", wg)) mycommand.ExecuteNonQuery() myconnection.Close() End Using Next Next End Sub