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

سؤال عن كيفية تعبئة داتا ست باكثر من جدول

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

السلام عليكم

سؤالي

عندي داتا ست واحده ابي اعبيها بثلاث جداول

طبعا با ستخدام نفس الادابتر

بس الحال ماضبط

هذا الكود

  Dim _oCon As New System.Data.SqlClient.SqlConnection
        _oCon.ConnectionString = "server=(local);database=project;trusted_connection=yes"
        Dim str As String
        str = "SELECT  Section.crs_code, SECTION_GROUP.sec_NO,SECTION_SCHEDULE.day, SECTION_SCHEDULE.STIME, SECTION_SCHEDULE.ETIME " _
        & " FROM SECTION_SCHEDULE INNER Join SECTION_GROUP ON SECTION_SCHEDULE.sec_no = SECTION_GROUP.sec_NO " _
        & "INNER JOIN Section ON SECTION_SCHEDULE.sec_no = Section.Sec_No AND SECTION_GROUP.sec_NO = Section.Sec_No INNER JOIN Student ON SECTION_GROUP.grou_No = Student.Grou_No and section_group.lev_no =student.lev_no where student.Std_Id ='" & Trim(TextBox1.Text) & "'"
        Dim _adpt As New System.Data.SqlClient.SqlDataAdapter(str, _oCon)
        Dim DS As New DataSet
        _adpt.Fill(DS)




        _adpt.SelectCommand.CommandText = "SELECT Section.crs_code SECTION_STUDENT.sec_NO,SECTION_SCHEDULE.day, SECTION_SCHEDULE.STIME, SECTION_SCHEDULE.ETIME" _
        & " FROM SECTION_STUDENT INNER Join Section ON" _
         & "SECTION_STUDENT.sec_NO = Section.Sec_No INNER JOIN SECTION_SCHEDULE ON Section.Sec_No = SECTION_SCHEDULE.sec_no" _
  & "where SECTION_STUDENT.Std_Id ='" & Trim(TextBox1.Text) & "'"

        _adpt.Fill(DS)

       
        str = "SELECT * FROM PROGRESS where STATUS='REGISTER' AND Std_Id ='" & Trim(TextBox1.Text) & "'"
        _adpt.SelectCommand.CommandText = str
        _adpt.Fill(DS)

الخطا

ان داتا ست صار فيها ثلاث جداول

لكن

بنفس قيم الجدول الاول

يعني جدول الاول صار عندي متكرر ثلاث مرات

ما ادري وين خطا

هل في تغير قيمة الادابتر او وين

:wacko:

مره شكرا لكم

#2

فقط أضف لكل Table الـ DataAdapter على حدا.. بمعنى ان كل Adapter له الـ Table الخاص به، على الأقل حتى تستطيع التعامل مع الـ Update و الـ Delete للـ Tables

رأس الحكمة الإيمان بالله

#3

هل تقصد انني اعرف لكل جدول ادابتر خاص

مع استخدام نفس داتا ست

اسئله قد تبدو ساذجه لكن مبتدء

#4
Dim _oCon As New System.Data.SqlClient.SqlConnection
        _oCon.ConnectionString = "server=(local);database=project;trusted_connection=yes"
        Dim str As String
        str = "SELECT  Section.crs_code, SECTION_GROUP.sec_NO,SECTION_SCHEDULE.day, SECTION_SCHEDULE.STIME, SECTION_SCHEDULE.ETIME " _
        & " FROM SECTION_SCHEDULE INNER Join SECTION_GROUP ON SECTION_SCHEDULE.sec_no = SECTION_GROUP.sec_NO " _
        & "INNER JOIN Section ON SECTION_SCHEDULE.sec_no = Section.Sec_No AND SECTION_GROUP.sec_NO = Section.Sec_No INNER JOIN Student ON SECTION_GROUP.grou_No = Student.Grou_No and section_group.lev_no =student.lev_no where student.Std_Id ='" & Trim(TextBox1.Text) & "'"
        Dim _adpt As New System.Data.SqlClient.SqlDataAdapter(str, _oCon)
        Dim DS As New DataSet
        _adpt.Fill(DS)




        str = "SELECT Section.crs_code SECTION_STUDENT.sec_NO,SECTION_SCHEDULE.day, SECTION_SCHEDULE.STIME, SECTION_SCHEDULE.ETIME" _
        & " FROM SECTION_STUDENT INNER Join Section ON" _
         & "SECTION_STUDENT.sec_NO = Section.Sec_No INNER JOIN SECTION_SCHEDULE ON Section.Sec_No = SECTION_SCHEDULE.sec_no" _
  & "where SECTION_STUDENT.Std_Id ='" & Trim(TextBox1.Text) & "'"
        Dim _adpt2 As New System.Data.SqlClient.SqlDataAdapter(str, _oCon)
        _adpt2.Fill(DS)

       
        str = "SELECT * FROM PROGRESS where STATUS='REGISTER' AND Std_Id ='" & Trim(TextBox1.Text) & "'"
        Dim _adpt3 As New System.Data.SqlClient.SqlDataAdapter(str, _oCon)
        _adpt3.Fill(DS)

عموما ان سويت اللي فهمته

بس طلع ايرور

يعني الادبتر الثاني موراضي يقبلها

#5
اقتباس
هل تقصد انني اعرف لكل جدول ادابتر خاص

مع استخدام نفس داتا ست

نعم، بالضبط .. فعندما تقوم بإختيار أكثر من Table في نفس الـ DataAdapter لن تستطيع أن تجري عمليات الـ Update و الـ Insert و الـ Delete على الـ Tables الموجودة داخل هذا الـ DataAdapter لأنه يعامل هذه الـ Tables على انها Views و لذلك لا تقبل هذه العمليات..

و في نفس الوقت يمكنك وضع أي عدد من الـ Tables داخل DataSet واحدة..

رأس الحكمة الإيمان بالله

#6
اقتباس
عموما ان سويت اللي فهمته

بس طلع ايرور

يعني الادبتر الثاني موراضي يقبلها

أنصحك بإستخدام Typed DataSet ..

HOW TO: Create and Use a Typed DataSet by Using Visual Basic .NET

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 4 ديسمبر 2005 في 20:18

رأس الحكمة الإيمان بالله

#7
 DS.Tables.Add("T2")

حل المشكله يكمن في انني اضيف هذه

وانا لم اضيفها

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…