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

عدم تكرار السجلات في الداتاجريد

بدأه MonaAli في 11 سبتمبر 2012 · 6 رد · 16,700 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

إخواني الكرام لي سؤال كيف أستطيع منع تكرار السجلات في الداتاجريد ؟

أرجو المساعدة ربنا يخليكم يارب ..

1 −1
#2

ممكن من جملة SQL باستخدام المعامل DISTINCT

لو الجدول اسمه Table1

تصبح الجملة كالتالي

SELECT DISTINCT column_name FROM Table1

تم تعديل هذه المشاركة بواسطة ؛ أحمد ؛ في 11 سبتمبر 2012 في 02:17

#3

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

طريقة الأخ أحمد جزاه الله خيراً تفيد عند جلب البيانات من DataBase وإليك طريقة أخرى تمنع التكرار عند تتم التعبئة من قبل المستخدم ، إنظر إلى الكود التالي:

Dim C1 As New DataColumn("DataColumn1Name")
Dim C2 As New DataColumn("DataColumn2Name")
Dim C3 As New DataColumn("DataColumn3Name")
.
.
.

Dim T As New DataTable
T.Columns.Add(C1)
T.Columns.Add(C2)
T.Columns.Add(C3)
.
.
.

T.PrimaryKey = {C1}
DataGridView1.DataSource = T

تقضي هذه الطريقة بتعريف DataTable وإضافة الحقول له ( التي تريدها أن تظهر في DataGridView ) وجعل حقل معين ( أو مجموعة من الحقول إن أردت ذلك )مفتاح أساسي PrimaryKey وجعل الخاصية Datasource لـ DataGridView تساوي هذا الـ DataTable حيث أن هذه الطريقة تمنع التكرار في الإدخال بالنسبة لهذا الحقل بالإضافة إلى أنها لا تسمح بأن يحتوي هذا الحقل على قيمة خالية Null ، حيث يكتسب هذا الحقل خواص المفتاح الأساسي PrimaryKey لأنه أصبح مفتاح أساسي PrimaryKey .

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

تم تعديل هذه المشاركة بواسطة DOWNLOADER في 12 سبتمبر 2012 في 10:39

#4

عليكم السلام

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

   Private Function RemoveDuplicateRows(ByVal dTable As DataTable, ByVal colName As String) As DataTable
        Dim hTable As New Hashtable()
        Dim duplicateList As New ArrayList()
        For Each drow__1 As DataRow In dTable.Rows
            If hTable.Contains(drow__1(colName)) Then
                duplicateList.Add(drow__1)
            Else
                hTable.Add(drow__1(colName), String.Empty)
            End If
        Next
        For Each dRow__2 As DataRow In duplicateList
            MessageBox.Show(dRow__2.Item(3))
            dTable.Rows.Remove(dRow__2)
        Next
        Return dTable
    End Function

والاستخدام بالشكل التالي

 RemoveDuplicateRows(DaSales1.Tables("OrdersDetails"), "ItemID")

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#5

الاستاذ الفاضل صاحب المشاركة الاخيرة walidhm

اذا سمحت

برجاء عمل مثال علي هذا الكود لانه عندي ظهر اخطاس لم استطع التغلب عليها

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

شكرا

#6

اين الردوود يا افاضل

#7

اين الردود

الافاضل

كفاءات البرمجة

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