PDA

View Full Version : چگونه می توان هفت رکورد به صورت تصادفی نمایش داد



bitcob589
شنبه 21 بهمن 1391, 15:13 عصر
با سلام
چگونه می توان هفت رکورد به صورت تصادفی نمایش داد.

Parham.D
یک شنبه 22 بهمن 1391, 10:45 صبح
در یک حلقه، با کلاس Random هفت عدد تصادفی بین تعداد اندیس رکوردهاتون ایجاد کنید (مثلا اگر 500 رکورد دارید، بین 0 تا 499). و بعد از DataRowCollection در حلقه هر نوبت یکی از اعداد تصادفی رو بخونید.

bitcob589
یک شنبه 22 بهمن 1391, 10:48 صبح
اگر امکان دارد یک مثال بزنید

SaeidMirzaei
دوشنبه 23 بهمن 1391, 02:11 صبح
سلام دوست عزیز
از این کد استفاده کن
Select Top(3)
*
From Customer
Order By NewID()
ولی نکته ای که باید توجه کنی در تعداد رکورد های زیاد این Query کارایی خوبی نخواهد داشت زیرا به ازای هر رکورد یک ID اختصصاص می دهد.

Parham.D
دوشنبه 23 بهمن 1391, 08:43 صبح
کد زیر یک نمونه است که امتحان کردم و کار میکنه. بخشهای مختلف کد رو از MSDN گرفتم، پس هر جا سوالی داشتید با مراجعه به MSND جواب میگیرید. کد ساده است و خودتان باید بهینه کنید. تعداد رکوردهای جدول 23 تاست.




private void Form1_Load(object sender, EventArgs e)
{
authorsTableAdapter.Fill(pUBSDataSet.authors);
var dataTable = authorsTableAdapter.GetData().Clone();

var randome = new Random();
for (var index = 0; index < 23; index++)
{
var dataRow = authorsTableAdapter.GetData().Rows[randome.Next(0, 23)];

var tempDataRow = dataTable.NewRow();
tempDataRow[0] = dataRow[0];
tempDataRow[1] = dataRow[1];
tempDataRow[2] = dataRow[2];
tempDataRow[3] = dataRow[3];
tempDataRow[4] = dataRow[4];
tempDataRow[5] = dataRow[5];
tempDataRow[6] = dataRow[6];
tempDataRow[7] = dataRow[7];
tempDataRow[8] = dataRow[8];

if (!dataTable.Rows.Contains(tempDataRow[0]))
dataTable.Rows.Add(tempDataRow);

if (dataTable.Rows.Count == 7)
break;
}

dataGridView1.DataSource = dataTable;
}

bitcob589
دوشنبه 23 بهمن 1391, 09:56 صبح
با linq به چه صورتی می توان نوشت

bitcob589
سه شنبه 24 بهمن 1391, 17:28 عصر
چگونه می توان با linq هفت رکورد به صورت تصادفی نمایش داد
لطفا راهنمای بفرمایید:تشویق:

bitcob589
پنج شنبه 26 بهمن 1391, 10:49 صبح
با linq نمی توان هفت رکورد به صورت تصادفی نمایش داد