السلام عليكم,,
لنفرض أن لدينا جدول به 100 سجل هل يمكن إسترجاع عشرة سجلات بشكل عشوائي
شكرا
السلام عليكم,,
لنفرض أن لدينا جدول به 100 سجل هل يمكن إسترجاع عشرة سجلات بشكل عشوائي
شكرا
السلام عليكم اخي الكريم
انا مبتدأ في هذا المجال
ولكن عندي فكرة لعلها تفيدك في سؤالك
-------------------------------
اذا تمكنت من تكوين ارقام عشوائية من رقم معين الى رقم آخر
وفي حالتنا هي عشرة ارقام من الرقم 1 الى الرقم 10
------------------------------------
وهذا هو الاقتران
-------------------------------------
Private Function GetRandomNumber(ByVal vnMinimumNumber As Integer, ByVal vnMaximumNumber As Integer)
Randomize() 'This sets a random seed to use with the Rnd function below.
'The Rnd Function returns a random number less than 1 but greater than or equal to 0
'The following line of code returns a random value between the
'vnMinimumNumber and mnMaximum number values passed into this method
GetRandomNumber = CInt(Int((vnMaximumNumber - vnMinimumNumber + 1) * Rnd() + vnMinimumNumber))
End Function
وبعدها يجب ان تعمل جملة بحث في الداتا سيت ضمن جدول البيانات
في كل مرة تقوم باستدعاء الاقتران السابق بأن يساوي رقم مخزن في الجدول
مثال : الرقم الراجع من الاقتران يساوي رقم مخزن في الجدول ترقيم تلقائي
وسامحنا با اخي اذا لم تكن الفكرة قوية ولكن ما اردنا الا الفائدة لكم
وموفق ان شاء الله
ملاحظة : الاقتران يمكن ان يرجع رقم عشوائي متكرر فيمكنك ان تعدل عليه بأن يعطيك عشرة ارقام عشوائية مختلفة غير متكررة
تم تعديل هذه المشاركة بواسطة Aladdin Mohammad في 28 مايو 2008 في 20:09
شكرا على ردك,,, لكن أنا أريد إسترجاع سجلات عشوائية في جملة sql بمعنى هل يمكن عمل إستعلام يقوم بذلك؟
اخي الكريم
اتريد مثل هذا الاستعلام لكنه يرجع سجل واحد من جدول عشوائيا
-----------------------
لو كان عندك جدول احد حقوله
"id"
--------------------
واردت جملة سيكويل ترجع سجل معين حسب الحقل المعرف ويكون الاختيار عشوائي
----------------------------------------------
هذا مثال يوضح طريقة باستخدام جملة سيكويل
-----------------------------------
Dim sSQL As String = "SELECT id from aa order by NewID()"
Dim objCmd As New SqlCommand(sSQL, objConn)
Dim i As Integer
i = objCmd.ExecuteScalar()
MsgBox(i)
واذا اردت استعلام يرجع 10 سجلات عشوائيا من جدول البيانات
SELECT TOP 10 tablename.* FROM tablename order by NewID()
واكيد هذا الذي ترغبه
موفق ان شاء الله
تم تعديل هذه المشاركة بواسطة Aladdin Mohammad في 29 مايو 2008 في 00:05
شكرا على ردك مرة أخرى
لكن أرقام السجلات تكون متقاربة في كل مرة تنفيذ ولم أشعر بأن العشوائية تامة بحيث لا تتكرر السجلات بشكل متقارب
تم تعديل هذه المشاركة بواسطة kathy في 29 مايو 2008 في 10:55
الحمد لله انها زبطت معك
كل مرة استدعي فيها السجل العشوائي قم بمقارنته مع السجل العشوائي المختار سابقا
اذا تكرر استدعي الجملة مرة اخرى لاختيار سجل آخر
اقتباسكل مرة استدعي فيها السجل العشوائي قم بمقارنته مع السجل العشوائي المختار سابقااذا تكرر استدعي الجملة مرة اخرى لاختيار سجل آخر
لاأعتقد أن هذة الطريقة جيدة لأن هذة العملية سوف تبطئ نوعاً ما
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…