تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كود اظهار البيانات عندما اختار اسم من الكومبوبكس
#1
السلام عليكم

عندي كومبو بوكس جعلت كومبو بوكس يقرأ تابل من القاعدة البيانات وهي اسم الطالب فقط

واريد من اختار اسم من الكومبو بكس يظهر لي رقم الشخصي للطالب

بحط ليكم الكودين للتعلم السريع

كود اظهار البيانات عندما اختار اسم من الكومبوبكس

كود :
Try
          dbConnect()
          cmd.CommandText = "Select * from Student where Student_Name = '" & ComboBox7.Text & "'"
          dr.Close()
          dr = cmd.ExecuteReader

          While dr.Read()
              TextBox11.Text = dr("Student_CPR").ToString
          End While
      Catch ex As Exception
          MessageBox.Show(ex.Message, "خطأ في القراءة", MessageBoxButtons.OK, MessageBoxIcon.Error)
      End Try

الكود الثاني عبارة ان يقرأ التابل من القاعدة البيانات ويظهرها لي في الكومبوبكس

كود :
Try
          Dim cmd As New OleDbCommand
          cmd.Connection = dbConnect()
          cmd.CommandText = "SELECT ST_ID,ST_Name FROM New_Student"
          Dim dr As OleDbDataReader
          dr = cmd.ExecuteReader

          While dr.Read()
              ComboBox1.Items.Add(dr("ST_ID"))
              ComboBox2.Items.Add(dr("ST_Name"))
          End While
          dr.Close()

          ComboBox1.Items.Add(ComboBox1.Text)
          ComboBox2.Items.Add(ComboBox2.Text)
      Catch ex As Exception
          MessageBox.Show(ex.Message, "خطأ في القراءة", MessageBoxButtons.OK, MessageBoxIcon.Error)
      End Try


لو تساعدوني في حل مشكلة اختيار الاسم ويظهر لي باقي البيانات التي اريدها في تكس بوكس

ويفظل مع تحديث مستمر يعني كلما اضيف يقرا الاسم الجديد مايحتاج اطلع من البرنامج وارد اشغله

واذا عندكم افضل واقوى من هذا الكود للفهم اسرع اعطوني اياه مع الشرح لو سمحتون
الرد }}}}
تم الشكر بواسطة:
#2

السلام عليكم ورحمة الله

هذا مثال جاهز من هذا المنتدى احتفظت به لسهولته فيه دوال حلوة لتعبئة ComboBox وأخرى لقراءة سجل بناء على استعلام،
لاحظ انه استخدم الحدث الأفضل SelectionChangeCommitted وليس SelectedIndexChanged
جربه بدل الموجود عندك وإن شاء الله تجد فيه الفائدة
PHP كود :
Imports System.Data.OleDb

Public Class Form1


    
' نص الاتصال بقاعدة البيانات '
    
Public connString As String "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\Database1.accdb;"


    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        
Try

            
' ComboBox استدعاء تعبئة صندوق السرد '
            
ComboBox_Fill(Me.ComboBox1connString"table1""name""id")

        Catch 
ex As Exception
            MsgBox
(ex.Message)
        
End Try
    
End Sub


    
' SelectionChangeCommitted الاختيار من صندوق السرد باستخدام الحدث '
    
Private Sub ComboBox1_SelectionChangeCommitted(ByVal sender As ObjectByVal e As System.EventArgsHandles ComboBox1.SelectionChangeCommitted

        
' إذا كان نص الاتصال بقاعدة البيانات موجود على شكل نص '
        
Dim row As DataRow GetDataRow(connString" SELECT * FROM [table1] WHERE [id]=" ComboBox1.SelectedValue)

        If 
row IsNot Nothing Then
            Me
.TextBox1.Text row("address"' العنوان '
            
Me.DateTimePicker1.Value row("birthdate"' تاريخ الميلاد '
            
Me.CheckBox1.Checked row("married"' متزوج '
        
End If

    
End Sub


    
''' <summary>GetDataRow جلب بيانات سجل واحد</summary>'
    ''' <param name="connctionString">نص الاتصال بقاعدة البيانات</param>'
    ''' <param name="sqlString">جملة الاستعلام</param>'
    ''' <returns>DataRow تعيد سطر بيانات</returns>'
    
Public Function GetDataRow(ByVal connctionString As String_
                               ByVal sqlString 
As String) As DataRow
        Using da 
As New OleDbDataAdapter(sqlStringconnctionString)
            
Using dt As New DataTable
                
If da.Fill(dt) > 0 Then Return dt.Rows(0)
            
End Using
        End Using
    End 
Function


    
''' <summary>ComboBox_Fill تعبئة صندوق السرد</summary>'
    ''' <param name="comboBox">المستهدف ComboBox تحديد مربع السرد </param>'
    ''' <param name="connctionString">نص الاتصال بقاعدة البيانات</param>'
    ''' <param name="tableName">إسم الجدول</param>'
    ''' <param name="displayMember">حقل العرض</param>'
    ''' <param name="valueMember">حقل القيمة</param>'
    
Public Sub ComboBox_Fill(ByVal comboBox As ComboBox_
                             ByVal connctionString 
As StringByVal tableName As String_
                             ByVal displayMember 
As StringByVal valueMember As String)
        
Dim sqlString As String _
                
" SELECT [" displayMember "], [" valueMember "] " _
                
" FROM [" tableName "]"
        
Using da As New OleDbDataAdapter(sqlStringconnctionString)
            
Dim dt As New DataTable
            da
.Fill(dt)
            
comboBox.DataSource dt
            comboBox
.DisplayMember displayMember.Trim
            comboBox
.ValueMember valueMember.Trim
            comboBox
.SelectedIndex = -1
        End Using
    End Sub


End 
Class 




نسيت موضوع "ويفظل مع تحديث مستمر يعني كلما اضيف يقرا الاسم الجديد مايحتاج اطلع من البرنامج وارد اشغله"
فقط استدعي الدالة ComboBox_Fill بنفس الطريقة بعد الاضافة

الرد }}}}
تم الشكر بواسطة:
#3
الاستاذ الفاضل ممكن رفع الكود في فورم او المثال كامل شكرا
الرد }}}}
تم الشكر بواسطة:
#4
مشكور اخوي على المساعدة
الرد }}}}
تم الشكر بواسطة:
#5

السلام عليكم ورحمة الله

ما فهمت ردكـ، يعني استفدت من ردي ولا طلع ردي مثل عدمه .

الرد }}}}
تم الشكر بواسطة:
#6
اخي وليد الكود الى عطيتني اياه مفيد للغاية لكن وجدة ان طريقتك بعد ما استخدمها الان ظهر بأن الاكواد يوجد بها خطأ بسيط صراحة خوك قاعد احاول

ولو ممكن تحط لنا مثال بسيط عن الكومبو بكس و القاعدة البيانات اكسس الاستدعاء و التحديث وقراءة البيانات في الكومبو بكس
الرد }}}}
تم الشكر بواسطة:
#7
بعد اذنكم

مرة اخري برجاء رفع الفورم
الرد }}}}
تم الشكر بواسطة:
#8

السلام عليكم ورحمة الله

أخوي عاطف وأخوي الشبح (حسب ترجمة 0theghost0) أنا وضعت كود الفورم كامل،

كل ما عليك هو إنشاء جدول باسم table1 وفيها الحقول التالية:
id ترقيم تلقائي
name نص
address نص
birthdate تاريخ
married نعم/لا
ثم ضع فيها بعض البيانات وجرب الكود

معظم الأكواد التي من عندي هي أصلا ملفات txt وليست مشاريع،
أحتفظت بهذا الكود لأهميته لأنه يحتوي طريقة التعامل مع أنواع مختلفة من الحقول كما تلاحظون مثل
ComboBox
TextBox
DateTimePicker
CheckBox

الرد }}}}
تم الشكر بواسطة:
#9
شكرا علي اهتمامك
الرد }}}}
تم الشكر بواسطة:
#10
اخ وليد الكود لم يظبط عندي صح هل ارفع لك المشروع وتعدل عليه ؟؟

بس صراحة ابغي ارسله لك على الايميل لو سمحت حق اتراسل معاك على الايميل

اذا ممكن
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] اضافة الصور لقاعدة البيانات SQL m.farag87 1 17 منذ 4 ساعة مضت
آخر رد: khodor1985
  رسالة خطأ عند استعراض البيانات aftfm 2 56 18-10-17, 06:33 PM
آخر رد: Rabeea Qbaha
  عمل شريط متحرك من قاعدة البيانات hglogtd 24 300 15-10-17, 11:54 PM
آخر رد: hglogtd
  [سؤال] اظهار واخفاء صورتين لسه مبتدئ 2 42 15-10-17, 05:39 PM
آخر رد: لسه مبتدئ
  ربط combobox بصفحه البيانات abdel.halim 8 135 11-10-17, 07:27 PM
آخر رد: abdel.halim
  توقف قاعدة البيانات عن الاستجابة وعدم قبول اي تعديلات nassery99 2 59 09-10-17, 06:34 PM
آخر رد: nassery99
  [VB.NET] سؤال :- طريقة جميع الوقت من قاعدة البيانات dubai.eig 4 129 03-10-17, 04:02 PM
آخر رد: dubai.eig
  مشكله تكرار اول قيمه اضيقت لقاعدة البيانات !! Rabeea Qbaha 2 81 29-09-17, 04:51 AM
آخر رد: Rabeea Qbaha
  [VB.NET] ظهور رسالة خطأ: نوع البيانات غير متطابق في تعبير المعايير. Waleed Al-Khamesy 14 235 26-09-17, 04:14 AM
آخر رد: RADOS
  [سؤال] ممكن طريقة عمل برنامج وارسال التحديثات اليه عندما يتوفر تحديث Mina Botros 3 133 20-09-17, 01:11 AM
آخر رد: سعود الشامان

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم