PDA

View Full Version : سوال: مرتب سازی بر اساس حروف الفبا



hamid_73
چهارشنبه 16 مهر 1393, 10:52 صبح
سلام دوستان
من وقتی با دستور کوئری زیر فیلد هامو مرتب می کنم همه فیلد هایی که پ اولشون هست میرن آخر چیکار کنم که همچین اتفاقی نیفته


SELECT Distinct tbl_MngMahsul.name,tbl_MngMahsul.id_mahsul FROM tbl_MngMahsul,tbl_MngMasaleh where tbl_MngMahsul.id_mahsul = tbl_MngMasaleh.id_mahsul order by tbl_MngMahsul.name asc"

juza66
چهارشنبه 16 مهر 1393, 12:20 عصر
سلام


cmd.CommandText = "select * from Tb_Words where " + where1+ " order by Loc <b>Desc</b>";

hamid_73
چهارشنبه 16 مهر 1393, 12:22 عصر
داداش یه توضیح هم می دی من متوجه نشدم

juza66
چهارشنبه 16 مهر 1393, 12:37 عصر
از کد زیر استفاده کن


this.dataGridView1.Sort(this.dataGridView1.Columns["name"], ListSortDirection.Ascending);




البته برای اینکه بهم نریزه باید بعد از دستور



dataGridView1.DataSource = dt;


استفاده کنی

hamid_73
چهارشنبه 16 مهر 1393, 12:39 عصر
نه من اصلا نمی خوام تو دیتا گرید نمایش بدم اون سلکتی که انجام شده در دیتا تیبل ذخیره میشه اطلاعاتش

juza66
چهارشنبه 16 مهر 1393, 16:38 عصر
اوکی، این زیر رو ببین

کلمه کلیدی ORDER BY
کلمه کلیدی SQL ORDER BY


کلمه کلیدی ORDER BY برای مرتب کردن مجموعه نتیجه (result-set) استفاده می شود.
کلمه کلیدی ORDER BY برای مرتب کردن نتیجه دستورات روی یک یا چند ستون استفاده می شود.
کلمه کلیدی ORDER BY به صورت پیش فرض رکوردها را به صورت صعودی مرتب می کند .
برای مرتب کردن رکوردها به ترتیب نزولی ، میتوانید از کلمه کلیدی DESC استفاده کنید


شکل کلی ( ORDER BY (Syntax


SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;




مثالی از کلمه کلیدی ORDER BY


select * from student
ORDER BY Family




خروجی
124350

مثالی از کلمه کلیدی DESC
دستور SQL زیر همه دانش آموزان جدول Student را انتخاب می کندو بر اساس ستون Family به ترتیب نزولی مرتب می کند


select * from student
ORDER BY Family DESC




خروجی
124351

مثالی از مرتب کردن چند ستون
دستور SQL پایین تمام دانش آموزان جدول Student را انتخاب می کند و بر اساس ستون Famly و City به صورت صعودی مرتب می کند


select * from student
ORDER BY Family,City





خروجی
124352



منبع:
http://softsaaz.ir/%DA%A9%D9%84%D9%85%D9%87-%DA%A9%D9%84%DB%8C%D8%AF%DB%8C-order-by.html

sayvan
چهارشنبه 16 مهر 1393, 16:52 عصر
دوست عزیز juza66 ممنون که منبع رو ذکر کردین.احسنت بر شما

hamid_73
چهارشنبه 16 مهر 1393, 17:55 عصر
داداش من دستور ارد بای رو باهاش اشنا هستم ولی مشکل من اینه که وقتی از اردر بای استفاده می کنم تمامی فیلد مرتب میشن بصورت نزولی یا سعودی ولی فیلد هایی که پ اولشون هست رو میبره اون آخر کار
مثلا
ا
ب
ت
ث
ج
ح
پ

Iran58
چهارشنبه 16 مهر 1393, 18:14 عصر
داداش من دستور ارد بای رو باهاش اشنا هستم ولی مشکل من اینه که وقتی از اردر بای استفاده می کنم تمامی فیلد مرتب میشن بصورت نزولی یا سعودی ولی فیلد هایی که پ اولشون هست رو میبره اون آخر کار
مثلا
ا
ب
ت
ث
ج
ح
پ
باسلام
دستور زیر را امتحان کنید
SELECT * FROM test
ORDER BY Name
موردی نیست پ را کاملا درست می خواند بنظرم مشکل از پ کیبورد شما است برای امتحان پ را از یک سایت کپی پیست کنید و امتحان کنید

hamid_73
چهارشنبه 16 مهر 1393, 19:03 عصر
خب پس چرا تو گزارش مثله بچه آدم مرتب میکنه؟؟؟؟؟ :عصبانی++:

این تصویر دیتا تیبلم هستش
124362
http://dl.esfandune.ir/images/krv4mxys8j2ugnesni0s.jpg

hamid_73
چهارشنبه 16 مهر 1393, 19:05 عصر
اینم تصویر گزارشم که درست مرتب کرده
124363

juza66
چهارشنبه 16 مهر 1393, 19:13 عصر
عکس اول رو دیدم

دومی لود نشد


میشه کد گزارش و کد کوئری رو بذارید ببینیم؟!

hamid_73
چهارشنبه 16 مهر 1393, 19:16 عصر
امیدوارم که اینبار لود بشه

124364

hamid_73
چهارشنبه 16 مهر 1393, 19:18 عصر
این کد پر کردن دیتا تیبل

DataTable dtrowscount = new DataTable("Mashul");
SQLiteDataAdapter darows = new SQLiteDataAdapter("SELECT Distinct tbl_MngMahsul.name,tbl_MngMahsul.id_mahsul FROM tbl_MngMahsul,tbl_MngMasaleh where tbl_MngMahsul.id_mahsul = tbl_MngMasaleh.id_mahsul order by tbl_MngMahsul.name asc", con);
dtrowscount.Locale = System.Globalization.CultureInfo.InvariantCulture;
darows.Fill(dtrowscount);

برا گزارش هم کد خاصی نیس تو خود گزارش زدم که سورت بشه