اذهب إلى المحتوى
  • 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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...