تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة فى البحث بين جدولين يتم تكرار البيانات عند استدعائها
#1
بسم الله الرحمن الرحيم

السلام عليكم شباب

عندى مشكله فى البحش بين جدولين يتم تكرار البيانات اذا كان بالجدولين صف واحد يتم استدعائه صف عادى لاكن اذا كان صفين يتك استدعائه اربع مرات يعنى يتم تكراره مرتين كمان

هذا هو كود البحث
PHP كود :
Using DataAdapter1 As New SqlDataAdapter("SELECT * FROM [hagz1],[hagz2] WHERE [studntname] = @name "con)
            
DataAdapter1.SelectCommand.Parameters.AddWithValue("@name"txt.Text)
            
Using DataTable As New DataTable
                DataAdapter1
.Fill(DataTable)
                
DataGridView1.DataSource DataTable
            End Using
        End Using

        DataGridView1
.Columns(0).Visible False
        DataGridView1
.Columns(1).Visible True
        DataGridView1
.Columns(2).Visible False
        DataGridView1
.Columns(3).Visible False
        DataGridView1
.Columns(4).Visible True
        DataGridView1
.Columns(5).Visible False
        DataGridView1
.Columns(6).Visible False
        DataGridView1
.Columns(7).Visible False
        DataGridView1
.Columns(8).Visible False
        DataGridView1
.Columns(9).Visible True
        DataGridView1
.Columns(10).Visible True
        DataGridView1
.Columns(11).Visible True
        DataGridView1
.Columns(12).Visible True
        DataGridView1
.Columns(13).Visible True

        
'''''''''''''''''''''
        DataGridView1.Columns(1).Width = 100
        DataGridView1.Columns(4).Width = 100
        DataGridView1.Columns(9).Width = 140
        DataGridView1.Columns(10).Width = 105
        DataGridView1.Columns(11).Width = 140
        DataGridView1.Columns(12).Width = 105
        DataGridView1.Columns(13).Width = 135
        ''''''''''''''''''''''''''''''''''''''''''''''''

        DataGridView1.Columns(1).HeaderText = "اسم المدرس"
        DataGridView1.Columns(4).HeaderText = "اسم المزكرة"
        DataGridView1.Columns(9).HeaderText = "اسم الطالب"
        DataGridView1.Columns(10).HeaderText = "دفع"
        DataGridView1.Columns(11).HeaderText = "تاريخ الدفع"
        DataGridView1.Columns(12).HeaderText = "استلام"
        DataGridView1.Columns(13).HeaderText = "تاريخ الاستلام"
        '''''''''''''''''
        
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment DataGridViewContentAlignment.MiddleCenter
        DataGridView1
.MultiSelect False
        With Me
.DataGridView1
            
.RowsDefaultCellStyle.BackColor Color.White
            
.AlternatingRowsDefaultCellStyle.BackColor Color.White
            
.RowsDefaultCellStyle.ForeColor Color.Black
            
.AlternatingRowsDefaultCellStyle.ForeColor Color.Black
        End With 
يارب اذا اعطيتني علما...اعطني معه حكمه...واذا اعطيتني مالا....اعطيني معها كرما...واذا اعطيتني قوه...اعطني معها رحمه...واذا اعطيتني سلطه...اعطني معها عدلا...واذا اعطيتني مسئوليه...اعطيني معها امانه...واذا اعطيتني نجاحا...اعطني معها تواضعا...اللهم امين
الرد
تم الشكر بواسطة:
#2
Using DataAdapter1 As New SqlDataAdapter("SELECT * FROM [hagz1],[hagz2] WHERE [studntname] = @name ", con)
يجب وجود علاقة بين الجدولين اى حقل رقم الطالب ويكون موجدو فى الجدولين مثل جدول الطلبة والنتائج
select * from student,result
where student.nostudent=result.nostudent
من اعمالنا نخطى ومن اخطائنا نتعلم ولاشى مستحيل
الرد
تم الشكر بواسطة:
#3
اخى الكريم شكرا لاكن لم تحل المشكلة المشكلة وهى ان انا باقوم بالبحث عن الاسم داخل الجدول الثانى وبناء عليه يقوم بئحضار البيانات انا ماليش دخل بالرقم كل الى انا محتاجو انو يظهرلى بيانات الاسم من الجدولين
يارب اذا اعطيتني علما...اعطني معه حكمه...واذا اعطيتني مالا....اعطيني معها كرما...واذا اعطيتني قوه...اعطني معها رحمه...واذا اعطيتني سلطه...اعطني معها عدلا...واذا اعطيتني مسئوليه...اعطيني معها امانه...واذا اعطيتني نجاحا...اعطني معها تواضعا...اللهم امين
الرد
تم الشكر بواسطة:
#4
أرسل لنا المشروع أو مثال صغير للتعديل عليه وشكرا.
إسرائيل إلى زوال ... وسوف تثبت الأيام ذلك ... قريباً إن شاء الله.
الرد
تم الشكر بواسطة:
#5
يمكنك أن تقرأ البيانات الخاصة بالعمود االموجود به الاسماء لا غير و تحوله الي مصفوفة


PHP كود :
' تعريف الجدول
        Dim dt As DataTable
        ' 
تعريف اسم العمود المراد استرجاع بياناته
        Dim columnName 
As String "إسم العمود المراد استرجاع بياناته"

 
       ' الحصول علي مصفوفة هذا العمود
        Dim names = dt.AsEnumerable().Select(Function(r) r.Field(Of String)(columnName)).ToArray()

        ' 
يمكنك استخدام الهاش ست لضمان عدم تكرار المدخلات
        Dim hash 
As HashSet(Of String) = New HashSet(Of String)()
 
       ' تعبئة الهاش 
        For Each name As String In names
            hash.Add(name)
        Next

        ' 
استخدم الهاش في تعبئة الكومبوبوكس

        For Each s 
As String In hash
            ComboBox1
.Items.Add(s)
 
       Next 


علي فكرة يمكنك استخدام نفس الاسلوب مع كل عمود موجود في Table الأصلي ثم تبني DataTable جديد و تضيف له بيانات مصفوفة كل عمود علي هيئة عمود جديد و بهذا تكون تخلصت من التكرار
الرد
تم الشكر بواسطة:
#6
اخى الكريم silverlight اولا شكرا لك ثانيا
وانا اسف دائما ردودك صعبة الفهم اخى انا لسه باول الطريق ما افهم الكلام الكبير ده
وانا اسف تانى مره ممكن تفهمنى ايه المعنى وايه الفكرة
يارب اذا اعطيتني علما...اعطني معه حكمه...واذا اعطيتني مالا....اعطيني معها كرما...واذا اعطيتني قوه...اعطني معها رحمه...واذا اعطيتني سلطه...اعطني معها عدلا...واذا اعطيتني مسئوليه...اعطيني معها امانه...واذا اعطيتني نجاحا...اعطني معها تواضعا...اللهم امين
الرد
تم الشكر بواسطة:
#7
السلام عليكم...

عندما تستخدم جملة استعلام بهذا الشكل:
كود :
SELECT * FROM [hagz1],[hagz2] WHERE [studntname] = @name

دون تحديد علاقة بين الجدولين، فأنت تلقائياً تنشئ علاقة من النوع Cross Join أي علاقة تقاطع بين الجدولين حيث يتم ربط كل سجل من الجدول الأول بجميع السجلات من الجدول الثاني (لأن محرك قواعد البيانات في هذه الحالة لا يعرف كيف يربط بين السجلات). عدد السجلات الناتجة سيكون حاصل ضرب عدد السجلات المسترجعة من الجدولين. فإذا مثلاً أعاد الاستعلام سجلين من الجدول الأول و ثلاثة سجلات من الجدول الثاني فإن الناتج سيكون ستة سجلات (2 × 3).

للحصول على سجل واحد (أو سجلات مترابطة) من الجدولين يجب بناء علاقة ربط (Join) بينهما. نفرض أن ما يربط الجدولين هو رقم الطالب (الحقل student_id) الموجود في كلا الجدولين:


كود :
SELECT * FROM hagz1
INNER JOIN hagz2 ON hagz1.student_id = hagz2.student_id
WHERE studntname = @name

موضوع علاقات الربط موسع قليلاً، و لكن أساسياته متشابهة في كل قواعد البيانات.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد
تم الشكر بواسطة:
#8
اخى الكريم ناجى ابراهيم نفس المشكلة يتم التكرار مع العلم اى اعمل على قاعدة بيانات sql server

هذا هو الكود

PHP كود :
Using DataAdapter1 As New SqlDataAdapter(" SELECT * FROM hagz1 INNER JOIN hagz2 ON hagz1.idtet = hagz2.idtet WHERE hagz2.studntname = @name "con)
            
DataAdapter1.SelectCommand.Parameters.AddWithValue("@name"txt.Text)
            
Using DataTable As New DataTable
                DataAdapter1
.Fill(DataTable)
                
DataGridView1.DataSource DataTable
            End Using
        End Using 
يارب اذا اعطيتني علما...اعطني معه حكمه...واذا اعطيتني مالا....اعطيني معها كرما...واذا اعطيتني قوه...اعطني معها رحمه...واذا اعطيتني سلطه...اعطني معها عدلا...واذا اعطيتني مسئوليه...اعطيني معها امانه...واذا اعطيتني نجاحا...اعطني معها تواضعا...اللهم امين
الرد
تم الشكر بواسطة:
#9
هل بمقدورك أخي العزيز أن تضع لنا تصميم الجدولين في قاعدة البيانات كصورة؟
إسرائيل إلى زوال ... وسوف تثبت الأيام ذلك ... قريباً إن شاء الله.
الرد
تم الشكر بواسطة:
#10
جدول hagz1

   

جدول hagz2

   
يارب اذا اعطيتني علما...اعطني معه حكمه...واذا اعطيتني مالا....اعطيني معها كرما...واذا اعطيتني قوه...اعطني معها رحمه...واذا اعطيتني سلطه...اعطني معها عدلا...واذا اعطيتني مسئوليه...اعطيني معها امانه...واذا اعطيتني نجاحا...اعطني معها تواضعا...اللهم امين
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن الحصول على احصائيات من قاعدة البيانات blida02 1 15 منذ 6 ساعة مضت
آخر رد: elgokr
  كود البحث في حقول عدة جداول aftfm 3 36 24-05-18, 10:15 PM
آخر رد: elgokr
  مشكلة فى جمع فيمة فى تيكست بوكس احمد خطاب خطاب 2 50 24-05-18, 05:59 PM
آخر رد: احمد خطاب خطاب
  [VB.NET] مشكلة حذف السجلات من قاعدة البيانات بعد اعادة التنفيذ zahraa mahdi 2 34 21-05-18, 06:11 PM
آخر رد: zahraa mahdi
  مشكلة بزر التعديل حافظ حافظ 21 264 20-05-18, 12:53 AM
آخر رد: حافظ حافظ
  [VB.NET] تغيير اسم قاعدة البيانات من sql ومن المشروع hglogtd 6 88 19-05-18, 07:39 AM
آخر رد: hglogtd
  مشكلة بالكود blida02 2 62 17-05-18, 10:07 PM
آخر رد: blida02
  معرفة وجود قاعدة البيانات المتألق9 5 86 15-05-18, 07:38 PM
آخر رد: المتألق9
  [سؤال] تصدير البيانات الى pdf han 3 115 14-05-18, 03:16 AM
آخر رد: sendbad100
  [سؤال] مشكلة في إنشاء تقرير للطباعة سمير الجبالي 9 185 13-05-18, 03:04 AM
آخر رد: elgokr

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


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