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

هذا الكود حق القرعه وشغال . بس كيف اخلي الاسم مايتكرر ؟ بليز تعديل فقط عالكود

بدأه @ام عبدالله@ في 5 فبراير 2010 · 15 رد · 1,358 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي قاعدة بيانات فيها حقل اسماء وابغى لما اضغط على بوتون يعرض لي اسم بشكل عشوائي بس اللي ماعرفته ان الاسم ماابغاه يتكرر اكثر من مرة

بليز ممكن حد يعدل عالكود عشان بس مايتكرر الاسم اكثر من مرة

هذا الكود


Dim cmd As New Data.OleDb.OleDbCommand("select nstudent from ns where nclass='" & ComboBox1.SelectedItem & "' ", dbcon) '<<نضع اسم الجدول

Dim da As New OleDbDataAdapter(cmd)

Dim dt As New DataTable()
da.Fill(dt)

Dim rd As New Random()
'نختار رقم عشوائي حسب عدد الصفوف في الجدول
Dim RandomRow As Integer = rd.Next(0, dt.Rows.Count - 1)
'نضع القيمة في مربع النص
Label1.Text = dt.Rows(RandomRow)(0)

dbcon.Close()
        dbcon.Open()

#2

وعليكم السلام أم عبد الله

ممكن تجربى كلمة DISTINCT بعد select مباشرة كالتالى

SELECT DISTINCT nstudent FROM ns WHERE nclass = '" & ComboBox1.SelectedItem

تم تعديل هذه المشاركة بواسطة Sameh abd Elmonim في 5 فبراير 2010 في 15:46

#3

جربت ولا زال يكرر اخوي ؟

#4

ضيفي كود الصفحة لنرى طريقة سير البيانات ...

#5

الكود في الفورم هذا لقراءة اسم الفصل ووضعه في الكومبوبوكس

والكود في البوتون لاستدعاء اسم طالب عشوائي من الفصل المحدد في الكومبو بوكس

المطلوب : عدم تكرار الاسم أكثر من مرة

 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dbcon.Open()

        sql = "select nclass from nclass "
        Dim comm As New OleDbCommand(sql, dbcon)
        MyReader = comm.ExecuteReader

        While MyReader.Read()
            ComboBox1.Items.Add(MyReader("nclass"))
        End While


        dbcon.Close()

    End Sub

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        dbcon.Open()
        Dim cmd As New Data.OleDb.OleDbCommand("select DISTINCT nstudent from ns where nclass='" & ComboBox1.SelectedItem & "' ", dbcon) '<<نضع اسم الجدول 

        Dim da As New OleDbDataAdapter(cmd)

        Dim dt As New DataTable()
        da.Fill(dt)

        Dim rd As New Random()
        'نختار رقم عشوائي حسب عدد الصفوف في الجدول 
        Dim RandomRow As Integer = rd.Next(0, dt.Rows.Count - 1)
        'نضع القيمة في مربع النص 
        TextBox1.Text = dt.Rows(RandomRow)(0)

        dbcon.Close()
    End Sub
#6

اذا كان الجدول فيه id بعد ما يطلع لك اسم الطالب سوي delete للطالب اللي طلع اسمه واذا ما تبغين تسوين delete سوي كويري اختيار الأسم العشوائي

Dim cmd As New Data.OleDb.OleDbCommand("select DISTINCT nstudent from ns where nclass='" & ComboBox1.SelectedItem & "' ", dbcon) '<<نضع اسم الجدول

هذي الكويري زيدي عليها شرط and id!=id للطالب اللي سبق طلع اسمه وبس

#7

لا اخوي ماابغى اسوي حذف

ومافهمت كويري

#8

نفرض انك سويتي القرعة وطلع الاسم المخزن حسام المقحم هذا اللي طلعت القرعة عليه :happy:

ومثل ما فرضت انا انك عندك حقل id في الجدول اللي انتي مصممته ونفرض ايضا ان حسام الـ id الخاص فيه يساوي 20

القرعة القادمة المرة الثانية تكون بالشكل هذا:

select nstudent from ns where nclass='" & ComboBox1.SelectedItem & "' " and id!=20
#9
حسام المقحم كتب:

نفرض انك سويتي القرعة وطلع الاسم المخزن حسام المقحم هذا اللي طلعت القرعة عليه :happy:

ومثل ما فرضت انا انك عندك حقل id في الجدول اللي انتي مصممته ونفرض ايضا ان حسام الـ id الخاص فيه يساوي 20

القرعة القادمة المرة الثانية تكون بالشكل هذا:

select nstudent from ns where nclass='" & ComboBox1.SelectedItem & "' " and id!=20

بالضبط .. مثل ما تفضل به الاخ حسام المقحم .. وتخزني الــ ID في ViewState بسبب الــ PostBack على الصفحه .

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#10

جربت بس ماينفذ يعطيني خطأ في da.Fill(dt)

يظللها بالاصفر

#11
mamababadada كتب:

بالضبط .. مثل ما تفضل به الاخ حسام المقحم .. وتخزني الــ ID في ViewState بسبب الــ PostBack على الصفحه .

كما تفضلو الأخوة ....

ولكن أعتقد أن سبب الخطأ في جملة select

جربي كتابة الكود من غير ComboBox1.SelectedItem

  select nstudent from ns where  id!=20

بالنسبة لرقم ال ID حالولي تخزينة في متغير أثناء عمل load للصفحة و أستخدمي المتغير في

جملة Select لعدم تكرار اسم صاحب رقم ال ID.

وإن شاء الله يشتغل.

...................

تم تعديل هذه المشاركة بواسطة vip_h في 5 فبراير 2010 في 22:44

#12

نفس الشي يعطيمي خطأ :(

#13

لما كتبتي الكود التالي:

select nstudent from ns where nclass='" & ComboBox1.SelectedItem & "' " and id!=20

وظهرت رسالة خطأ في :

da.Fill(dt)

ما الذي كتبته بدل الرقم 20 أم كتبتي الكود كما هو ؟ وهل هناك ID رقمه 20 في الجدول.

#15

ما هو نوع قاعدة البيانات hgjd jsjo]ldkih ??????? واذا كانت sql server ساكتب لكي طريقة علمية وصحيحة 100 لذلك ولكن تعمل علي sql server

#16
اقتباس
ما هو نوع قاعدة البيانات hgjd jsjo]ldkih ??????? واذا كانت sql server ساكتب لكي طريقة علمية وصحيحة 100 لذلك ولكن تعمل علي sql server

المشكلة ان قاعدة البيانات هي اكسس

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

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

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

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

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