PDA

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



shahin60
سه شنبه 18 مرداد 1390, 13:39 عصر
سلام
یه کمبوباکس دارم میخوام توش داده های اون فیلدی که گفتم تکراریه داخلش بریزم
مثل:
1
1
2
2
3
میخوام داخل کمبو باکس تکراری نباشه
1
2
3
چه سرچی بنویسم؟

hosaini
سه شنبه 18 مرداد 1390, 13:49 عصر
از دیتاست و ویو استفاده کنید روش کار به نظر غلط میاد
aliasghar.hosaini@gmail.com

elena2007
سه شنبه 18 مرداد 1390, 13:54 عصر
منظورتون واضح نیست ...
با دستور distincat تو select کارتون راه نمی یوفته؟؟؟؟

shahin60
سه شنبه 18 مرداد 1390, 14:04 عصر
میخوام زمانی که جستجو می کنه رکورد هایی که فیلد name اونها مشترک فقط یکی از اون ها را برگردونه واونهایی که تکراری نیستن رو هم برگردون
مثلا name شهید باکری تو 3 تا رکورد تکرارشده من میخوام فقط یکی رو برگردونه تا بریزم تو کمبو باکس و گرنه شهید باکری سه بار تو کمبو باکس add میشه و واین رو بگم این فیلد کلید نیست

badguy
سه شنبه 18 مرداد 1390, 14:04 عصر
خوب تو میتونی ابتدا همه فیلدهاتو بریزی تو کامبو باکس بعد برا کامبو باکس یه سرچی بنویسی که هر فیلد رو با فیلد های ما بعد خودش مقایسه کنه اکه فیلدی پیدا کرد که با اون فیلد یکسان بود اون فیلد رو پاک کنه!


void Foo()
{
object[] obj = new object[comboBox1.Items.Count];

comboBox1.Items.CopyTo(obj, 0);

for (int i = 0; i < comboBox1.Items.Count - 1; i++)
{
for (int j = i + 1; j < comboBox1.Items.Count; j++)
{
if (obj[i] == null)
break;

if (obj[j]!=null && obj[j].Equals(obj[i]))
obj[j] = null;
}
}

comboBox1.Items.Clear();

foreach (var i in obj)
{
if (i != null)
comboBox1.Items.Add(i);
}
}

shahin60
سه شنبه 18 مرداد 1390, 14:11 عصر
خیلی پیچیدس میشه توضیح بديد/
فکر می کنید منطقیه؟

badguy
سه شنبه 18 مرداد 1390, 14:22 عصر
خیلی پیچیدس میشه توضیح بديد/
فکر می کنید منطقیه؟
چیرو توضیح بدم؟
برا چی میگید منطقی نیس؟

shahin60
سه شنبه 18 مرداد 1390, 14:27 عصر
آخه این روش برای 150000 رکورد خیلی سرعت پایین میاره.
کلیات این تابعی که نوشتید رو میگم

badguy
سه شنبه 18 مرداد 1390, 14:31 عصر
آخه این روش برای 150000 رکورد خیلی سرعت پایین میاره.
کلیات این تابعی که نوشتید رو میگم

ما 150000 ایتم رو تو کامبوبکس نمیریزم!!:متعجب: معمولا 10-15 تا ایتم تویه کامبوباکس میریزن!! اول شما بگین که سورس این 150000 دیتا چیه؟؟ فک کنم دارین کلا راه رو اشتباه میرید!

shahin60
سه شنبه 18 مرداد 1390, 14:36 عصر
قبض آبه-تنها راهی بود که به نظر رسید چون باید صدور قبض با دوره ونام مرکز باشه
وفقط 100 تا مرکز داریم بقیه تکراریه

badguy
سه شنبه 18 مرداد 1390, 14:42 عصر
منظور از سورس این بود که با چه تکنولوژی ای این 150000 تا دیتا رو ذخیزه میکنید؟
پس قک کنم دیتا ها رو از دیتا بیس میخوند, نه؟
اگه اینطور باشه خوب خود دیتابیس این امکان رو داره " distinct "!

shahin60
سه شنبه 18 مرداد 1390, 14:46 عصر
بله انک sql واز دیتاست استفاده کردم
من همون دستور sql این کار میخوام

badguy
سه شنبه 18 مرداد 1390, 14:49 عصر
تو قسمت database سوال بذار
موفق باشی

elena2007
سه شنبه 18 مرداد 1390, 18:16 عصر
نمی دونم مشکلتون حل شده یا نه ، ولی با همون دستور

SELECT DISTINCT column_name FROM table_name
کارتون حتما راه میوفته .
چون شما می خوای همه اسامی بیان ، ولی تکراری ها یه بار ...
این دستور ساده هم این کارمی کنه .
موفق باشی