Jim Clinton Ответов: 0

Как вставить две таблицы в 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]

Если бы вы просто прочитали свой код, вы бы увидели, в чем проблема. Имена не вставляются в вашу базу данных, потому что вы перезаписываете запрос другой строкой запроса перед его выполнением.

0 Ответов