在vb.net中快速向远程mysql服务器插入数据
我在vb.net中有一个小应用程序 我在msaccess中有一个表,它有大约20000条记录 现在,我想把这些记录插入mysql的远程服务器 我尝试了以下代码,插入数据大约需要3-4个小时 如果有人能告诉我插入数据的更快方法,我将非常高兴 代码中的dst具有来自ms Access的所有记录 对于i As Integer=0到dst.Tables(0).Rows.Count-1在vb.net中快速向远程mysql服务器插入数据,mysql,vb.net,Mysql,Vb.net,我在vb.net中有一个小应用程序 我在msaccess中有一个表,它有大约20000条记录 现在,我想把这些记录插入mysql的远程服务器 我尝试了以下代码,插入数据大约需要3-4个小时 如果有人能告诉我插入数据的更快方法,我将非常高兴 代码中的dst具有来自ms Access的所有记录 对于i As Integer=0到dst.Tables(0).Rows.Count-1 mycmd.Connection = mycn str = "INSERT INTO tblstudentresult
mycmd.Connection = mycn
str = "INSERT INTO tblstudentresults(department_desc, grade, roll_no, name, course_code, course_desc, examination_type, total_marks, obtained_marks)"
/*'str = str & " VALUES('" & cname & "','" & sdr("grade").ToString() & "','" & sdr("st_code").ToString() & "','" & sdr("stName").ToString() & "','" & sdr("Subject_code").ToString() & "','" & sdr("Subject").ToString() & "','" & sdr("ExamTitle").ToString() & "','" & sdr("Maxmark").ToString() & "','" & sdr("score").ToString() & "')" -- Added non-VB comment here to improve readability */
str = str & " VALUES('" & cname & "', '" & dst.Tables(0).Rows(i)("grade").ToString() & "', '" & dst.Tables(0).Rows(i)("st_code").ToString() & "', '" & dst.Tables(0).Rows(i)("stName").ToString() & "', '', '" & dst.Tables(0).Rows(i)("Subject").ToString() & "', '" & dst.Tables(0).Rows(i)("ExamTitle").ToString() & "', '" & dst.Tables(0).Rows(i)("Maxmark").ToString() & "', '" & dst.Tables(0).Rows(i)("score").ToString() & "')"
mycmd.CommandText = str
mycmd.ExecuteNonQuery()
next
在一个大字符串(或者可能是大块的,比如500行)中构造一个insert语句,然后在一次调用中运行整个insert语句可能会更快,大致如下所示:
Dim firstRow as Boolean = True
str = "INSERT INTO tblstudentresults(...) VALUES"
For i As Integer = 0 To dst.Tables(0).Rows.Count - 1
' Only insert comma after first row, so we don't have comma at the end.
If Not firstRow Then str = str & ","
str = str & "('" & cname & "','" ...
firstRow = False
Next
mycmd.Connection = mycn
mycmd.CommandText = str
mycmd.ExecuteNonQuery()
在一个大字符串(或者可能是大块的,比如500行)中构造一个insert语句,然后在一次调用中运行整个insert语句可能会更快,大致如下所示:
Dim firstRow as Boolean = True
str = "INSERT INTO tblstudentresults(...) VALUES"
For i As Integer = 0 To dst.Tables(0).Rows.Count - 1
' Only insert comma after first row, so we don't have comma at the end.
If Not firstRow Then str = str & ","
str = str & "('" & cname & "','" ...
firstRow = False
Next
mycmd.Connection = mycn
mycmd.CommandText = str
mycmd.ExecuteNonQuery()
如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮({}
),以很好地格式化和语法突出显示它!