PDA

View Full Version : نمايش اطلاعات تصادفي در datagridview



webnama
دوشنبه 04 اردیبهشت 1391, 23:56 عصر
سلام دوستان روز بخير

من يك جدول دارم حاوي يكسري اطلاعات و ميخواهم اين اطلاعات به صورت تصادفي (فقط يكي از ركورد ها) و بعد از فشردن دكمه نمايش داده باشه ، براي اين كار كد زيرا را نوشتم (خلاصه را در اينجا ذكر ميكنم )

dataGridViewX1.DataSource = db.MySelect("select top 1 * from faal order by rnd(id)");

اما وقتي برنامه را اجرا ميكنم فقط يك رديف نمايش داده مي شود (به صورت دائم و بدون تغيير )در صورتي كه وقتي كه كوئري را در ديتابيس اكسس اجرا ميكنم بدون مشكل اجرا ميشود .
حالا سوال بنده اين هست كه آيا تنظيم خاصي بايد برروي كامپوننت ديتا گريد انجام بديم يا روش بنده اشتباه مي باشد .

mmd2009
سه شنبه 05 اردیبهشت 1391, 05:10 صبح
با سلام

در Sql Server باید این کارو بکنیم :


SELECT TOP 1 column FROM table
ORDER BY NEWID()



همونطور که در Oracle اینکارو می کنیم :


SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1



و در my sql هم اینکارو :


SELECT column FROM table
ORDER BY RAND()
LIMIT 1




و در اکسس هم به قول خودتون همونکارو میکنید.

موفق باشید

vahdani_d
سه شنبه 05 اردیبهشت 1391, 11:31 صبح
SELECT TOP 1 * FROM MyTable ORDER BY newid()

webnama
سه شنبه 05 اردیبهشت 1391, 20:40 عصر
دوستان عزیز من در دستور نمایش تصادفی مشکلی ندارم ؛ همانطور که گفتم کوئری مورد نظر در اکسس جواب میدهد اما وقتی در دیتا گرید استفاده میکنم جواب نمیدهد و همش یک ردیف ثابت و بدون تغییر رو نشون میده
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

sajaaaaad
یک شنبه 14 شهریور 1395, 16:01 عصر
خب همون کدتو پروسیجر کن و توی برنامه پروسیجرشو فراخوانی کن شاید درست کار کنه.!
و اینکه مطمعنی دستورت درست کار میکنه.! اصلا شبیه هیچ کدوم از دستوراتی که دوستان گفتن نیست کدت ها :لبخند: