Mysql 如何在Vb.net中使用for-next将数据插入Ms.Access
我从一个MySQL数据库获取数据,创建了一个addition Access数据库,它基于MySQL数据库的字段名。我想在连接关闭之前直接将所有记录字段保存到新的Access数据库中。问题是只有1条记录被存储到我的Access数据库中 这是我的代码:Mysql 如何在Vb.net中使用for-next将数据插入Ms.Access,mysql,vb.net,ms-access,Mysql,Vb.net,Ms Access,我从一个MySQL数据库获取数据,创建了一个addition Access数据库,它基于MySQL数据库的字段名。我想在连接关闭之前直接将所有记录字段保存到新的Access数据库中。问题是只有1条记录被存储到我的Access数据库中 这是我的代码: tbl.Name = "Leger" cat.Tables.Append(tbl) tbl.Columns.Append("idsiswa", ADOX.DataTypeEnum.adInteger) tbl.Columns.Append("nama
tbl.Name = "Leger"
cat.Tables.Append(tbl)
tbl.Columns.Append("idsiswa", ADOX.DataTypeEnum.adInteger)
tbl.Columns.Append("nama", ADOX.DataTypeEnum.adVarWChar, 40)
tbl.Columns.Append("nis", ADOX.DataTypeEnum.adVarWChar, 15)
tbl.Columns.Append("idkelas", ADOX.DataTypeEnum.adInteger)
tbl.Columns.Append("tahunpelajaran", ADOX.DataTypeEnum.adVarWChar, 9)
tbl.Columns.Append("semester", ADOX.DataTypeEnum.adInteger)
While RD_pelajaran.Read
tbl.Columns.Append(RD_pelajaran.Item("kodepelajaran") & "_14_P", ADOX.DataTypeEnum.adSingle)
tbl.Columns.Append(RD_pelajaran.Item("kodepelajaran") & "_H_P", ADOX.DataTypeEnum.adVarWChar, 3)
tbl.Columns.Append(RD_pelajaran.Item("kodepelajaran") & "_14_K", ADOX.DataTypeEnum.adSingle)
tbl.Columns.Append(RD_pelajaran.Item("kodepelajaran") & "_H_K", ADOX.DataTypeEnum.adVarWChar, 3)
Dim koneksi2 As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PathDb)
koneksi2.Open()
For xloop = 0 To RD_pelajaran.FieldCount - 1
Dim vIdsiswa As Integer = RD_pelajaran.Item("idsiswa")
Dim vNama As String = RD_pelajaran.Item("nama")
Dim vnis As String = RD_pelajaran.Item("nis")
Dim vidkelas1 As String = RD_pelajaran.Item("idkelas")
Dim vtahunpelajaran As String = RD_pelajaran.Item("tahunpelajaran")
Dim vsemester1 As String = RD_pelajaran.Item("semester")
Dim Va001ap As Single = RD_pelajaran.Item("nilai_semester_p")
Dim va001hp As String = RD_pelajaran.Item("nilaihuruf_p")
Dim Va001ak As Single = RD_pelajaran.Item("nilai_semester_k")
Dim va001hk As String = RD_pelajaran.Item("nilaihuruf_k")
Dim InsertData As String = "INSERT INTO Leger(idsiswa,nama,nis,idkelas,tahunpelajaran,semester,A001_14_P,A001_H_P,A001_14_k,A001_H_K) VALUES ('" & vIdsiswa & "','" & vNama & "','" & vnis & "','" & vidkelas1 & "','" & vtahunpelajaran & "','" & vsemester1 & "','" & Va001ap & "','" & va001hp & "','" & Va001ak & "','" & va001hk & "')"
Dim cmd1 As OleDbCommand = New OleDbCommand(InsertData, koneksi2)
cmd1.ExecuteNonQuery()
Next
koneksi2.Close()
End While
问题在哪里?我如何解决它?
xloop
是迭代列而不是行;SQL参数将极大地简化代码,您应该使用选项Strict On
我尝试'x=x+1 For xloop=0 To x-1',但它不适用于保存mysql数据库中的所有字段,而只保存一行。