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

البحث من اكثر من جدول

بدأه mr@vetch في 6 ديسمبر 2012 · 5 رد · 2,194 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا عندى مشكله صغيره ومش عارف ايه حلها

انا عامل برنامج اضافه مخزن منتجات غذائيه

قاعده البيانات sql server 2005

عندى جدول للاضافه وجدول للمرتجع وجدول للمنصرف وجدول للفاسد

عاوز اعمل مثلا بحث عن منتج وليكن منتج A

انا ببحث عن طريق كود الخاص بالمنتج A فانا عاوز يجيب بيانات معينه من كل جدول ... مثلا عاوز اعرف كل حاجه عن المنتج A بيجبلى البيانات من جدول الاضافه وبيجبلى الفاسد والمنصرف والمرجع

والنتيجه بتكون فى الداتا جريد

انا بستخدم الكود ده لو انا عاوز اجيب بيانات من جدول واحد

  Dim dss As New DataSet
        Dim adq As New SqlClient.SqlDataAdapter
        Dim cmdw As New SqlClient.SqlCommand
        cmdw.Connection = cn
        cmdw.CommandType = CommandType.Text
        cmdw.CommandText = "select * from product where code = '" & TextBox1.Text & "'"

        adq.SelectCommand = cmdw
        adq.Fill(dss, "product ")


        DataGridView1.DataSource = dss.Tables("product ")

انا فكرت اعمل ربط بين الجداول فى قاعده البيانات وعملت وبعد كده عملت view وجربت ولكن بدون اى نتيجه

يارب الفكره تكون وصلت ولاقى الحل عند حضراتكم

#2

اخوي لو تجيب لنا بيانات الجدول عشان نعرف كيف ربطتهم

لانه طريقه الاستعلام عن البيانات اكثر من جدول تعتمد على العلاقه بين الجداول ان كانت مرتبطه او لا

#3

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

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

يمكنك ذلك عن طريق نفس الكود الذي تستخدمه مع إضافات بسيطة ألا وهى تغيير وظيفة SQLCommand ثم تنفيذه

Dim dss As New DataSet
        Dim adq As New SqlClient.SqlDataAdapter
        Dim cmdw As New SqlClient.SqlCommand
        cmdw.Connection = cn
        cmdw.CommandType = CommandType.Text
        cmdw.CommandText = "select * from product where code = '" & TextBox1.Text & "'"

        adq.SelectCommand = cmdw
        adq.Fill(dss, "product ")

'تكرار هذه الخطوة مع كل الجداول مع تغيير اسم الجدول'
        cmdw.CommandText = "select * from Rejects where code = '" & TextBox1.Text & "'"

        adq.Fill(dss, "Rejects")

        cmdw.CommandText = "select * from Expires where code = '" & TextBox1.Text & "'"

        adq.Fill(dss, "Expires")

'قم بعرض كل جدول فى داتا جريد فيو مختلفة'
        DataGridView1.DataSource = dss.Tables("product")
        DataGridView2.DataSource = dss.Tables("Rejects")
        DataGridView3.DataSource = dss.Tables("Expires")

'أو يمكنك عرض كل الجدوال في نفس الداتا جريد فيو بالسطر التالى'
        DataGridView3.DataSource = dss

أرجو أن يكون مفيدا

تم تعديل هذه المشاركة بواسطة ema2000_t في 6 ديسمبر 2012 في 16:58

3

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#4

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

اخى Mr.Owsama

اى بيانات تحديدا تريد ان تعرف

ولك الشكر على المتابعه

اخى ema2000_t

نجحت الطريقه ولكن فى حاله عرضهم جميعا فى داتا جريد واحده لم تنجح

تاتى الداتا جريد بدون اى بيانات

ولكنى اريدهم فى داتا جريد واحده

#5

كما قال الاخ Mr.Owsama

لكي تقوم بعرض هذه البيانات داخل داتا جريد واحدة يجب عليك ان تقوم بعمل View أو Storedprocedure بداخلهما الجداول المراد استخراج منهما هذه البيانات مع وضع في الاعتبار العلاقات بين هذه الجداول لكي يخرج لك الاستعلام بالشكل المطلوب وبعد الانتهاء من تصميم الاستعلام يتم مناداته من الكود عن طريق SQLCommand ذلك أنا انصح بعمل هذه العملية باستخدام Storedprocedure ثم لان الاسكريبت هيكون كبير وسيأخذ مساحة كبيرة داخل الكود البرمجي الي جانب الاستفادة من سرعة الاجراء المخزن

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6

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

فى حالة إعطاء أكثر من جدول للداتا جريد فيو يجب عليك تحديد الجدول المراد إظهاره من هذه الجداول جميعاً وذلك يتم عن طريق خاصية DataMember

لذلك

قم بإضافة أزرار ينقر عليها المستهدم لتحديد البيانات المراد عرضها وداخل كل زر منهم حدد الجدول الذي يعرضه فى الداتا جريد فيو

على سبيل المثال

في الزر الأول اكتب

DataGridView1.DataMember = "products"

في الزر الثانى اكتب

DataGridView1.DataMember = "Rejects"

ولكن ينبغى التأكد من كتابة اسم الجداول بشكل صحيح حتى لا يعطيك خطأ

أرجو أن يكون هذا مفيدا

3

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

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