Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中快速向远程mysql服务器插入数据_Mysql_Vb.net - Fatal编程技术网

在vb.net中快速向远程mysql服务器插入数据

在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

我在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 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或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!