ต้องการคำปรึกษาเลือกการเขียนโปรแกรม VB ต่อกับ MS SQL ด่วนครับผม

คือผมเขียนโปรแกรมเพื่อจะส่งงานพอดีเริ่มทวนใหม่ลองศึกษาเอง แล้วแก้ปัญหาตรงจุดนี้ไม่ได้รบกวนผู้รู้บอกเป็นแนวทางด้วยครับ
โปรแกรมผมเป็นการใช้ VB สร้างหน้าฟอร์มมาเพื่อเก็บข้อมูลลงฐานข้อมูล form ที่ใช้เก็บข้อมูลมี 2 form แต่ให้เก็บลงใน table เดียวกัน ผมลองจัดการทำตามที่ศึกษามา code ที่ผมทำ กลายเป็นว่า run 1 รอบ เสร็จได้ข้อมูลแยก ดังรูปประกอบ


และกลายแบบนี้


ผมอยากให้ข้อมูลมันรวมกันเวลาทำงานใน1 รอบผมควรแก้อย่างไรดีครับ นี้เป็นส่วนของโค็ด

From1
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class question

    Dim ConStr As String = "Server=VT-PC\SQLEXPRESS;Database=question;Trusted_Connection=True;"

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Con As New SqlConnection(ConStr)
        Con.Open()

        Dim MySQL As String
        MySQL = " Insert Into step1( name, lname, gen, pnumber, stuid, numberclass, yearin, yearout, band, branch, statlearn, statjob, detailjob, jobforstu, jobdetail, etcjobdetail, salary ) Values(@textboxname , @textboxlname , @comboboxsex , @textboxphone , @textboxstudent , @textboxnumclass , @comboboxyin , @comboboxyout , @comboboxband , @comboboxbranch , @comboboxstatlearn , @comboboxstatjob , @textboxdetailjob , @comboboxjobforstu , @comboboxjobdetail , @comboboxetcjobdetail , @comboboxsalary )"

        Dim Cmd As New SqlCommand(MySQL, Con)
        Cmd.Parameters.Add("textboxname", SqlDbType.VarChar).Value = nameTextBox.Text
        Cmd.Parameters.Add("textboxlname", SqlDbType.VarChar).Value = lnameTextBox.Text
        Cmd.Parameters.Add("comboboxsex", SqlDbType.VarChar).Value = sexComboBox.Text
        Cmd.Parameters.Add("textboxphone", SqlDbType.VarChar).Value = phoneTextBox.Text
        Cmd.Parameters.Add("textboxstudent", SqlDbType.VarChar).Value = studentid.Text
        Cmd.Parameters.Add("textboxnumclass", SqlDbType.VarChar).Value = numclass.Text
        Cmd.Parameters.Add("comboboxyin", SqlDbType.VarChar).Value = yearinComboBox.Text
        Cmd.Parameters.Add("comboboxyout", SqlDbType.VarChar).Value = yearoutComboBox.Text
        Cmd.Parameters.Add("comboboxband", SqlDbType.VarChar).Value = bandComboBox.Text
        Cmd.Parameters.Add("comboboxbranch", SqlDbType.VarChar).Value = branchComboBox.Text
        Cmd.Parameters.Add("comboboxstatlearn", SqlDbType.VarChar).Value = statlearnComboBox.Text
        Cmd.Parameters.Add("comboboxstatjob", SqlDbType.VarChar).Value = statjobComboBox.Text
        Cmd.Parameters.Add("textboxdetailjob", SqlDbType.VarChar).Value = DetailjobTextBox.Text
        Cmd.Parameters.Add("comboboxjobforstu", SqlDbType.VarChar).Value = jobforstuComboBox.Text
        Cmd.Parameters.Add("comboboxjobdetail", SqlDbType.VarChar).Value = jobdetailComboBox.Text
        Cmd.Parameters.Add("comboboxetcjobdetail", SqlDbType.VarChar).Value = etcjobdetailTextBox.Text
        Cmd.Parameters.Add("comboboxsalary", SqlDbType.VarChar).Value = salaryComboBox.Text
        
        Cmd.ExecuteNonQuery()
        question2.Show()
        Me.Close()


    End Sub
End Class

นี้ส่วนของ Form 2

Imports System.Data.Sql
Imports System.Data.SqlClient

Public Class question2

    Dim ConStr As String = "Server=VT-PC\SQLEXPRESS;Database=question;Trusted_Connection=True;"

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Con As New SqlConnection(ConStr)
        Con.Open()

        Dim MySQL As String
        MySQL = " Insert Into step1( TeachingandLearning, Teacher, MediaSchoolSupplies, Theclass, AcademicServices, generalservice ) Values( @ComboBoxTeachingandLearning , @ComboBoxTeacher , @ComboBoxMediaSchoolSupplies , @ComboBoxTheclass , @ComboBoxAcademicServices , @ComboBoxgeneralservice )"

        Dim Cmd As New SqlCommand(MySQL, Con)
        Cmd.Parameters.Add("ComboBoxTeachingandLearning", SqlDbType.VarChar).Value = TeachingandLearningComboBox.Text
        Cmd.Parameters.Add("ComboBoxTeacher", SqlDbType.VarChar).Value = TeacherComboBox.Text
        Cmd.Parameters.Add("ComboBoxMediaSchoolSupplies", SqlDbType.VarChar).Value = MediaSchoolSuppliesComboBox.Text
        Cmd.Parameters.Add("ComboBoxTheclass", SqlDbType.VarChar).Value = TheclassComboBox.Text
        Cmd.Parameters.Add("ComboBoxAcademicServices", SqlDbType.VarChar).Value = AcademicServicesComboBox.Text
        Cmd.Parameters.Add("ComboBoxgeneralservice", SqlDbType.VarChar).Value = generalserviceComboBox.Text
    
        Cmd.ExecuteNonQuery()

        Main.Show()
        Me.Close()
    End Sub
End Class
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
หรือไม่ก็โยน command object ให้ไปทำที่ Form ที่ 2  แล้วค่อยสั่งให้ insert ใน Form ที่ 2
ไม่แน่ใจนะครับ ว่าจะเขียนถูกต้องหรือเปล่า


Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class question

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

      Dim MySQL As String
      MySQL = "Insert Into step1( name, lname, gen, pnumber, stuid, numberclass, yearin, yearout, band, branch, statlearn, statjob, detailjob, jobforstu, jobdetail, etcjobdetail, salary, TeachingandLearning, Teacher, MediaSchoolSupplies, Theclass, AcademicServices, generalservice) Values(@textboxname , @textboxlname , @comboboxsex , @textboxphone , @textboxstudent , @textboxnumclass , @comboboxyin , @comboboxyout , @comboboxband , @comboboxbranch , @comboboxstatlearn , @comboboxstatjob , @textboxdetailjob , @comboboxjobforstu , @comboboxjobdetail , @comboboxetcjobdetail , @comboboxsalary, @ComboBoxTeachingandLearning , @ComboBoxTeacher , @ComboBoxMediaSchoolSupplies , @ComboBoxTheclass , @ComboBoxAcademicServices , @ComboBoxgeneralservice) "
      Dim Cmd As New SqlCommand(MySQL)
      Cmd.Parameters.Add("textboxname", SqlDbType.VarChar).Value = nameTextBox.Text
      Cmd.Parameters.Add("textboxlname", SqlDbType.VarChar).Value = lnameTextBox.Text
      Cmd.Parameters.Add("comboboxsex", SqlDbType.VarChar).Value = sexComboBox.Text
      Cmd.Parameters.Add("textboxphone", SqlDbType.VarChar).Value = phoneTextBox.Text
      Cmd.Parameters.Add("textboxstudent", SqlDbType.VarChar).Value = studentid.Text
      Cmd.Parameters.Add("textboxnumclass", SqlDbType.VarChar).Value = numclass.Text
      Cmd.Parameters.Add("comboboxyin", SqlDbType.VarChar).Value = yearinComboBox.Text
      Cmd.Parameters.Add("comboboxyout", SqlDbType.VarChar).Value = yearoutComboBox.Text
      Cmd.Parameters.Add("comboboxband", SqlDbType.VarChar).Value = bandComboBox.Text
      Cmd.Parameters.Add("comboboxbranch", SqlDbType.VarChar).Value = branchComboBox.Text
      Cmd.Parameters.Add("comboboxstatlearn", SqlDbType.VarChar).Value = statlearnComboBox.Text
      Cmd.Parameters.Add("comboboxstatjob", SqlDbType.VarChar).Value = statjobComboBox.Text
      Cmd.Parameters.Add("textboxdetailjob", SqlDbType.VarChar).Value = DetailjobTextBox.Text
      Cmd.Parameters.Add("comboboxjobforstu", SqlDbType.VarChar).Value = jobforstuComboBox.Text
      Cmd.Parameters.Add("comboboxjobdetail", SqlDbType.VarChar).Value = jobdetailComboBox.Text
      Cmd.Parameters.Add("comboboxetcjobdetail", SqlDbType.VarChar).Value = etcjobdetailTextBox.Text
      Cmd.Parameters.Add("comboboxsalary", SqlDbType.VarChar).Value = salaryComboBox.Text
     
      question2.CommandObject = Cmd
      question2.Show()
      Me.Close()


     End Sub
End Class


Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient

Public Class question2

     Public CommandObject As SqlCommand

     Dim ConStr As String = "Server=VT-PC\SQLEXPRESS;Database=question;Trusted_Connection=True;"

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim Con As New SqlConnection(ConStr)
      Con.Open()

      Dim Cmd As SqlCommand
      Cmd = CommandObject
      Cmd.Parameters.Add("ComboBoxTeachingandLearning", SqlDbType.VarChar).Value = TeachingandLearningComboBox.Text
      Cmd.Parameters.Add("ComboBoxTeacher", SqlDbType.VarChar).Value = TeacherComboBox.Text
      Cmd.Parameters.Add("ComboBoxMediaSchoolSupplies", SqlDbType.VarChar).Value = MediaSchoolSuppliesComboBox.Text
      Cmd.Parameters.Add("ComboBoxTheclass", SqlDbType.VarChar).Value = TheclassComboBox.Text
      Cmd.Parameters.Add("ComboBoxAcademicServices", SqlDbType.VarChar).Value = AcademicServicesComboBox.Text
      Cmd.Parameters.Add("ComboBoxgeneralservice", SqlDbType.VarChar).Value = generalserviceComboBox.Text
     
      Cmd.Connection = Con
      Cmd.ExecuteNonQuery()
      Con.Close()


      Main.Show()
      Me.Close()
     End Sub
End Class
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่