مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

moonfa1392

عضویت از 1394/08/17

نحوه نوشتن دستور سلکت با شرط

  • شنبه 25 شهریور 1396
  • 03:15
تشکر میکنم

سلام وقتتون بخیر 

میخوام طوری برای دستور سلکت شرط بذارم که یه تعداد مشخص از آخر جدول رو نیاره و یکی رو بیاره!

به عنوان مثال 20 تا سطر داریم، میخوام سطر پنجم از آخر رو select کنم. در صورتی که 10 تا سطر دیگه هم اضافه شد باز سطر پنجم از آخر رو select کنه، یعنی id مشخصی نداریم...

چطوری باید بنویسم این شرط رو؟

ممنون میشم راهنمایی کنید

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 25 شهریور 1396
  • 09:24

ابتدا مرتب کنید و بعد تا Top 5 تا استخراج کنید و اولی رو استفاده کنید

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • شنبه 25 شهریور 1396
  • 09:26

یعنی چی اول مرتب کنم استاد؟

چیشو مرتب کنم؟

جدول مطالب هست روزانه 10 15 تا شاید بیشتر  بهش سطر اضافه میشه!

فقط میخوام پنجمی از آخر رو استخراج کنم top 5 بزنم که 5 تای آخر میاد این وسط 4 تاش اضافی میشه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 25 شهریور 1396
  • 09:28

منظورم order by بود

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

بله 5 تای آخر رو میاره شما اولی رو بردارید و به بقیه کاری نداشته باشید

میشه همونی که میخواهی

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • شنبه 25 شهریور 1396
  • 09:30

خب همینو بلد نیستم که چطوری فقط اولیشو بردارم وقتی 5 تای آخر رو استخراج کردم استاد

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 25 شهریور 1396
  • 09:35

sad

بریزید تو DataTable و بعد اولین Row رو بگیرید

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • شنبه 25 شهریور 1396
  • 09:42

استاد با ریپیتره

این متد رو نوشتم از ADO استفاده کردم توی کلاس DAL کانکشن استرینگ گذاشتم

public void newsbind()
    {
        DAL run = new DAL();
        string sqltext = string.Format("select top 5 * from tbl_news");
        Repeater5.DataSource = run.ExecuteQuery(sqltext);
        Repeater5.DataBind();
    }

اونجوری که گفتین باید از SQL Data Sourse استفاده کنم و DataTable ؟ راه نداره با همین ریپیتر و متد که نوشتم اوکیش کنم؟

کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • شنبه 25 شهریور 1396
  • 11:25

سلام. با کسب اجازه از آقای مدائنی

اینو تست کنید:

public void newsbind()
    {
    DAL run = new DAL();
     string sqltext = string.Format("select top 5 * from tbl_news");
     DataTable dtTemp = new DataTable();
     DataTable dtOrginal = new DataTable();
     DataRow row;
     dtTemp = run.ExecuteQuery(sqltext);
     row = dtTemp.Rows[4];
     dtOrginal.Rows.Add(row);
     Repeater5.DataSource = dtOrginal;
     Repeater5.DataBind(); 
    }

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)