• 0

كيف أربط dataset بقاعدة بيانات Mysql على تطبيق Vb.net؟

على تطبيق vb.net أريد ربط قاعدة بيانات من نوع Mysql مع كائن dataSet، وقمت بالآتي:

فتح اتصال عن طريقoldeb:

con.Open()
adaptadordatos.Fill(conjuntoDatos, "Alumnos")
con.Close()

جلب البيانات:

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
            Dim Conexion As New MySql.Data.MySqlClient.MySqlConnection
            Dim CadenaSQL As String = "SELECT * FROM Alumnos ORDER BY nombre"
            Dim CadenaConexion As String = "Data Source=localhost;" & _
                                           "Database=" & "NuevaBD" & ";" & _
                                           "User Id=root;Password="
            Dim Comando As New MySql.Data.MySqlClient.MySqlCommand(CadenaSQL)
            Conexion = New MySql.Data.MySqlClient.MySqlConnection(CadenaConexion)

            Try
                Dim conjuntoDatos As New DataSet()
            Conexion.Open()
            'here dataset i dont know how it
            'Comando.Fill(conjuntoDatos, "Alumnos")
            Conexion.Close()

            Dim tabla As DataTable
            tabla = conjuntoDatos.Tables("Alumnos")
            Dim fila As DataRow
            Me.ListaAlumnos.Items.Clear()
            For Each fila In tabla.Rows
                ' Muestra los datos en un ListBox
                Me.ListaAlumnos.Items.Add(fila.Item("Nombre") & " " & fila.Item("Apellidos"))
            Next
        Catch ex As MySql.Data.MySqlClient.MySqlException
            MsgBox("No se ha podido establecer " & vbCrLf & _
                      "la conexión con la base de datos.", MsgBoxStyle.Critical)
        Finally

            Select Case Conexion.State
                Case ConnectionState.Open
                    Conexion.Close()
            End Select
        End Try
    End Sub

لكن الكود لا يعمل، كيف أجعله يعمل؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

وظيفة ()Fill خاصة بـ DataAdapter، ونستعملها لملئ جدول مؤقت على DataSet انطلاقا من قاعدة البيانات، بالطريقة التالية:

adaptadordatos.Fill(conjuntoDatos, "Alumnos")

لذا يجب عليك إنشاءها:

Dim myAdapter As MySqlDataAdapter = New MySqlDataAdapter(CadenaSQL, Conexion)
myAdapter.Fill(conjuntoDatos, "Alumnos")

وهذا مثال كامل لاستعمال DataSet على تطبيق Vb.net:

Private m_DataSet As DataSet

Private Sub Form1_Load(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles MyBase.Load
  ' Build the DataSet.
  m_DataSet = New DataSet("Student Scores")

  ' Build the Students table.
  Dim dt_students As New DataTable("Students")
  m_DataSet.Tables.Add(dt_students)
  dt_students.Columns.Add("StudentId", GetType(Integer))
  dt_students.Columns.Add("FirstName", GetType(String))
  dt_students.Columns.Add("LastName", GetType(String))

  ' Build the TestScores table.
  Dim dt_testscores As New DataTable("TestScores")
  m_DataSet.Tables.Add(dt_testscores)
  dt_testscores.Columns.Add("StudentId", GetType(Integer))
  dt_testscores.Columns.Add("TestNumber", GetType(Integer))
  dt_testscores.Columns.Add("Score", GetType(Integer))

  ' Populate the Students table.
  Dim student_data(2) As Object
  student_data(0) = 1
  student_data(1) = "Amy"
  student_data(2) = "Anderson"
  dt_students.Rows.Add(student_data)

  student_data(0) = 2
  student_data(1) = "Bob"
  student_data(2) = "Baker"
  dt_students.Rows.Add(student_data)

  ' Code for other insertions deleted...

  ' Populate the TestScores table.
  Dim testscores_row As DataRow
  ' Student 1.
  testscores_row = dt_testscores.NewRow()
  dt_testscores.Rows.Add(testscores_row)
  testscores_row.Item("StudentId") = 1
  testscores_row.Item("TestNumber") = 1
  testscores_row.Item("Score") = 98

  testscores_row = dt_testscores.NewRow()
  dt_testscores.Rows.Add(testscores_row)
  testscores_row.Item("StudentId") = 1
  testscores_row.Item("TestNumber") = 2
  testscores_row.Item("Score") = 94

  ' Code for other insertions deleted...

  ' Bind the DataGrid to the DataSet.
  DataGrid1.DataSource = m_DataSet
End Sub

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن