Как вставить две таблицы в VB.NET с MS ACCESS?
У меня есть проблема с этими кодами, когда я нажал кнопку Добавить(add), он выбрал все Course_code и Course_name в listview, но Students_fname и Students_Lastname исчезли.
Мой доступ к базе данных
Использование таблицы отношений
tblStudents
Student_ID |PK
Student_Fname / Короткий Текст
Student_Lastname |Короткий Текст
Идентификатор_курса |ФК
tblCourse
Идентификатор_курса |ПК
Course_code |Короткий Текст
Имя Курса |Короткий Текст
Что я уже пробовал:
Public Class frmStudents Dim sqlcode As String Dim connstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Jim Clinton Amarga\Desktop\Class Records\Class Records\bin\Debug\dbClassRecords.accdb" End Class Sub loaddata() ListView1.Items.Clear() Try sqlcode = "SELECT tblStudents.Student_Fname, tblStudents.Student_Lastname from tblStudents " Dim sqlcmd As New OleDb.OleDbCommand(sqlcode) sqlcmd.Connection = New OleDb.OleDbConnection(connstring) sqlcmd.Connection.Open() sqlcmd.ExecuteNonQuery() Dim da As New OleDb.OleDbDataAdapter(sqlcmd) Dim ds As New DataSet da.Fill(ds, "tblStudents") Dim itemcollection(100) As String For r = 0 To ds.Tables("tblStudents").Rows.Count - 1 For c = 0 To ds.Tables("tblStudents").Columns.Count - 1 itemcollection(c) = ds.Tables("tblStudents").Rows(r)(c).ToString Next Dim LVI As New ListViewItem(itemcollection) ListView1.Items.Add(LVI) Next Catch ex As Exception MessageBox.Show(ex.ToString) End Try Try sqlcode = "SELECT tblCourses.Course_code, tblCourses.Course_name from tblCourses " Dim sqlcmd As New OleDb.OleDbCommand(sqlcode) sqlcmd.Connection = New OleDb.OleDbConnection(connstring) sqlcmd.Connection.Open() sqlcmd.ExecuteNonQuery() Dim da As New OleDb.OleDbDataAdapter(sqlcmd) Dim ds As New DataSet da.Fill(ds, "tblCourses") Dim itemcollection(100) As String For r = 0 To ds.Tables("tblCourses").Rows.Count - 1 For c = 0 To ds.Tables("tblCourses").Columns.Count - 1 itemcollection(c) = ds.Tables("tblCourses").Rows(r)(c).ToString Next Dim LVI As New ListViewItem(itemcollection) ListView1.Items.Add(LVI) Next Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub Private Sub btnStudADD_Click(sender As Object, e As EventArgs) Handles btnStudADD.Click Try sqlcode = "INSERT INTO tblStudents (Student_Fname,Student_Lastname) values('" & txtFname.Text & "','" & txtLname.Text & "')" sqlcode = "INSERT INTO tblCourses (Course_code,Course_name) values('" & txtSC1.Text & "','" & txtSC2.Text & "')" Dim sqlcmd As New OleDb.OleDbCommand(sqlcode) sqlcmd.Connection = New OleDb.OleDbConnection(connstring) sqlcmd.Connection.Open() sqlcmd.ExecuteNonQuery() MsgBox("ADD SUCCESSFULLY") Call loaddata() Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub
Private Sub btnStudADD_Click(sender As Object, e As EventArgs) Handles btnStudADD.Click Try sqlcode = "INSERT INTO tblStudents (Student_Fname,Student_Lastname) values('" & txtFname.Text & "','" & txtLname.Text & "')" sqlcode = "INSERT INTO tblCourses (Course_code,Course_name) values('" & txtSC1.Text & "','" & txtSC2.Text & "')" Dim sqlcmd As New OleDb.OleDbCommand(sqlcode) sqlcmd.Connection = New OleDb.OleDbConnection(connstring) sqlcmd.Connection.Open() sqlcmd.ExecuteNonQuery() MsgBox("ADD SUCCESSFULLY") Call loaddata() Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub
Richard MacCutchan
Пожалуйста, отредактируйте свой вопрос и добавьте более четкие детали. Не очевидно, где происходит ошибка.
[no name]
Если бы вы просто прочитали свой код, вы бы увидели, в чем проблема. Имена не вставляются в вашу базу данных, потому что вы перезаписываете запрос другой строкой запроса перед его выполнением.