الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ربط قاعده بيانات بListBox

مغلق
بدأه قهمرهم كلهم في 19 مارس 2005 · 3 رد · 590 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا عندي قاعدة بيانات وفيها بس عمودين ابي اربط العمود الاول بــ ListBox

والعمود الثاني بtextbox بحيث اذا ضغطت على اول حقل في LitBox يطلع الحقل الاول في العمود الثاني يعني بالتساوي زي مثلا كلمه ومعناها

انا متربه الكلمة و معناها في قاعدة بيانات بحيث ابي اذا ضغطت على الكلمه في ListBox يطلع معناها في textbox

انا اعرف الربط اذا كان بس مربع نص ثننين يعني اعرف اسوي مكيف وكل شيء بس ماني عارفه كيف اسويها مع اللست بوكس

الله يخليك ابي جواب وشاكره لكم :)

#2

السلام عليكم

بما أننا نريد فقط عملية عرض البيانات في list box ولا نريد تحديثها

فمن الأفضل أن نستخدم DataReader عِوضاً عن DataAdapter ويكون بهذا الشكل

 Private Sub LoadWords()
        Dim strSQL As String
        Try
            Cnn.Open()
            strSQL = "SELECT * FROM tb"
            Dim cmd As New OleDbCommand(strSQL, Cnn)
            Dim rdr As OleDbDataReader = _
            cmd.ExecuteReader(CommandBehavior.CloseConnection)
            With lsBox
                .BeginUpdate()
                Do While rdr.Read()
                    .Items.Add(rdr.Item(0).ToString)
                Loop
                .EndUpdate()
                rdr.Close()
                cmd.Dispose()
            End With
        Catch ex As Exception
            Throw ex
        Finally
            Cnn.Close()
        End Try
    End Sub

وكذلك يا أختي بما أننا نريد عرض قيمة واحدة من العامود المرادف فإننا نستخدم الـعنصر ExecuteScalar

كونه فقط يأتي بقيمة واحدة و كِلا العنصرين اي DataReader و ExecuteScalar للقراءة فقط وهما أسرع بكثير من الـ DataAdapter

تم جلب القيمة من العامود وفقاً للقيمة في الـ list box وهي الـ SelectedItem بهذا الشكل

Private Sub LoadDefinition(ByVal CurrentWord As String)
        Dim strSQL As String
        Dim Def As String
        Try
            strSQL = "SELECT Definition FROM tb " & _
           "WHERE Words='" & CurrentWord & "'"
            Dim cmd As New OleDbCommand(strSQL, Cnn)
            Cnn.Open()
            Def = cmd.ExecuteScalar
            Cnn.Close()
            Me.TextBox1.Text = Def.ToString
        Catch ex As Exception
            Throw ex
        Finally
            Cnn.Close()
        End Try
    End Sub

تلاحظين أنني إستخدمت ممرر واحد وهو CurrentWord لإسند فيه قيمة الـ SelectedItem

بهذا الشكل

 Private Sub lsBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lsBox.SelectedIndexChanged
        Try ' Load the Arabic Definition Word
            LoadDefinition(Me.lsBox.SelectedItem)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

هذا والله أعلم

ListBoxDB.zip

في المثال يتضح المقال

#3

شكرا لك "الغملاسي"

بس انت طريقتك صعبه :|

انا ابي اربط من الخصائص

لاني اربط اني التكست بوكس من الخصااائص وشوي من الكود وانا ابي listbox لاني ابي احط زر يضيف اسمااء الى قاعدة البيانات وابيها تكون بعد OleDbDataAdapter

و DataSet1

لاني فاهمه بس ابي طريقتة كيف اربط من الخصااائص

وشااااكره لك كثير

وبالنسبه الملف المرفق ماتفتح معي مدررررررررررررري ليه :(

وشاكره لكم مره ثانيه

#4

السلام عليكم يعزُ عدم فتح الملف لأسباب منها ربما يكون وهو الأرجح أنكِ لا تملكين النسخة 2003

إن كانت هذه المشكلة قومي بالتالي

إفتحي الملف *.vbproj للمشروع الذي أرفقته في الشرح بالــ notepad.exe file ثم إتبعي هذه الخطوات التالية

This is just a simple way to open VB.NET 2003 Project files in VB.NET 2002.

To do so follow the instruction below. 1)

Open the VB.NET 2003 (*.vbproj) project file you want to view in VB.NET 2002

using notepad. 2)

Change the ProductVersion number located on the 4th line to "7.0.9466" (including quotes) from "7.10.3077" 3)

Change the SchemaVersion number located on the 5th line to "1.0"

(including quotes) from "2.0" 4)Save your changes, close notepad

and run the project file. You will now be able to view and compile the VB.NET 2003

Project in your existing VB.NET 2002 IDE. Hope this helps you out! byeadon

نصية من الأفضل أن يكون لديكِ النسخة 3002

السلام عليكم

في المثال يتضح المقال

هذا الموضوع مغلق.

مواضيع مشابهة