PDA

View Full Version : سوال: نمایش یک رکورد تکراری از بین چندین رکورد تکرای از همان فیلد



farhan1
دوشنبه 23 اردیبهشت 1392, 23:24 عصر
سلام خدمت اساتید محترم
اگر ما در یک جدول بانک اطلاعاتی مثلا 20 رکورد داشته باشیم که دوتا از فیلدهای این جدول مثلا تاریخ و شماره سند همه یکی باشد چگونه می توانیم در یک دیتاگرید فقط یک نمونه از تاریخ و شماره سند نمایش داده بشه و بقیه نمایش داده نشود

fool66
دوشنبه 23 اردیبهشت 1392, 23:47 عصر
شرط بزار توی query بعدی بریز توی یه datatable اولین رکورد رو نشون بده

farhan1
سه شنبه 24 اردیبهشت 1392, 00:20 صبح
اگر ما در همان جدول مثلا 20 تا از یک تاریخ مشخص و 10 تا رکورد دیگر با یک تاریخ مشخص به چه صورت می باشد.
فقط از هر رکورد یکی نمایش داده بشه در دیتاگرید

hessam2003
سه شنبه 24 اردیبهشت 1392, 00:25 صبح
سلام.
میتونید درون یک Store procedure کدهارو فیلتر کنید که در صورت مساوی بودن فقط یک فیلد Fetch بشه و دیگر درگیر مقایسه با Datagridview نباشد.
بمی تونید به این سایت هم رجوع کنید منبع کامل. (http://www.3school.com) http://www.w3schools.com/

farhan1
سه شنبه 24 اردیبهشت 1392, 00:42 صبح
کسی نیست کمک کنه

fool66
سه شنبه 24 اردیبهشت 1392, 00:57 صبح
با این دستور پر کن تکراری ها رو نمایش نمیده :چشمک:
SELECT DISTINCT Title FROM Table1

مهرداد صفا
سه شنبه 24 اردیبهشت 1392, 23:50 عصر
اگر ما در همان جدول مثلا 20 تا از یک تاریخ مشخص و 10 تا رکورد دیگر با یک تاریخ مشخص به چه صورت می باشد.
فقط از هر رکورد یکی نمایش داده بشه در دیتاگرید


با سلام.
اگر درست متوجه شده باشم شما قصد دارید به ازای هر مقداری که در یک فیلد وارد شده (مقادیر تکراری را حذف کنید و) فقط یک رکورد را انتخاب کنید.
در ساده ترین حالت کافیست در یک حلقه تکتک ردیفها را چک کنید و اگر ستون مورد نظر از آن ردیف قبلا انتخاب نشده بود رکورد را به جدول اضافه کنید.
در مثال زیر به ازای هر مقداری که در ستون MyColumn وارد شده باشد فقط یک رکورد انتخاب می شود:

//in the name of god
//صل الله علی محمد و آله

string MyColumn = "date";
adapter.Fill(table);//fill the main table
DataTable table2 = new DataTable();//a table for search result
//set columns for new table
table2.Columns.AddRange(table.Columns.Cast<DataColumn>().Select(column => new DataColumn(column.ColumnName)).ToArray());
foreach (DataRow row in table.Rows )
if (!table2.AsEnumerable().Select(ROW => ROW[MyColumn]).Contains(row[MyColumn]))
table2.Rows.Add(row.ItemArray);
dataGridView1.DataSource = table2;