نمایش نتایج 1 تا 12 از 12

نام تاپیک: نمایش آخرین رکورد ذخیره شده در دیتابیس

  1. #1
    کاربر جدید آواتار hadiM18
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    8

    Question نمایش آخرین رکورد ذخیره شده در دیتابیس

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

  2. #2
    کاربر دائمی آواتار raha_20
    تاریخ عضویت
    آبان 1386
    محل زندگی
    registry
    سن
    35
    پست
    342

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

    خوب باید بعد از انجام ارتباطات و خواندن اطلاعات جدول وقرار دادن آن داخل dataset , و ارتباط با data view آخرین رکورد را از dataview بخونی و نشان بدی

  3. #3

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

    اگر با فرض اینکه جدول ما 2 فیلد داره و دیتابیس ما SQL Server باشه بصورت زیر میتونین آخرین رکورد رو برگردونین :


    DataTable dt = new DataTable();
    string id;
    string bookname;
    id = dt.Rows[dt.Rows.Count - 1]["ID"].ToString();
    bookname = dt.Rows[dt.Rows.Count -1]["BookName"].ToString();
    با توجه به تعداد فیلد ها این کارو باید تکرار کنید
    Mobin Ranjbar

    Software Engineer, Big Data Evangelist and Startup Guy

    www.linkedin.com/in/mobinranjbar

    www.MobinRanjbar.com
    www.Hadoop.ir
    www.BigDataWatcher.com

    < به سوالات و درخواست هایی مبنی بر ارسال سورس کد ، نوشتن برنامه و ... از طریق پیام خصوصی پاسخ داده نمی شود >

  4. #4
    کاربر دائمی آواتار shahab_ss
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    bangkok
    سن
    43
    پست
    434

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

     id = dt.Rows[dt.Rows.Count - 1]["ID"].ToString();
    حالا اگر فیلد ID بصورت Auto Increment تعریف نشده باشه ، اونوقت چی ؟؟

  5. #5
    کاربر دائمی آواتار raha_20
    تاریخ عضویت
    آبان 1386
    محل زندگی
    registry
    سن
    35
    پست
    342

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

    اگه با data viwe بخواهیم بنویسیم هم میشه.؟

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

  6. #6

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

    نقل قول نوشته شده توسط shahab_ss مشاهده تاپیک
     id = dt.Rows[dt.Rows.Count - 1]["ID"].ToString();
    حالا اگر فیلد ID بصورت Auto Increment تعریف نشده باشه ، اونوقت چی ؟؟


    اگه Auto Increment باشه با این کوئری میشه آخرین رکورد رو برگردوند :


    SELECT `field`
    FROM `table`
    ORDER BY `field` DESC
    LIMIT 1 ;
    Mobin Ranjbar

    Software Engineer, Big Data Evangelist and Startup Guy

    www.linkedin.com/in/mobinranjbar

    www.MobinRanjbar.com
    www.Hadoop.ir
    www.BigDataWatcher.com

    < به سوالات و درخواست هایی مبنی بر ارسال سورس کد ، نوشتن برنامه و ... از طریق پیام خصوصی پاسخ داده نمی شود >

  7. #7

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

    مواردی که دوستان گفتند درسته فقط یه مشکل کوچیک داره!! اونم اینه که اگه توی بانک تعداد رکوردها زیاد باشه (مثلا چند میلیون رکورد) و برنامه هم تحت شبکه و یا وب باشه داده های زیادی باید به کلاینت منتقل بشه که این زمان زیادی میگیره، حتی اگه برنامه ، یه WinApp ساده با تعداد رکورد بالا باشه بازم زمانگیر میشه.
    بهتره کوئری رو طوری بنویسی که فقط یک رکورد رو برگردونه.
    اگر آخرین رکورد بر اساس ترتیب فیلد خاصی باشه که کار احته کافیه اول بصورت نزولی مرتب بشه بعد اولین رکورد خونده بشه
    Select Top 1 * From TableName Order By FieldName Desc

    ولی اگه آخرین رکورد فقط براساس زمان ثبت باید پیدا بشه میشه از روشی مثل روش زیر استفاده کرد:
    SELECT *,ID_Num = IDENTITY(int, 1, 1) into #temp from TableName
    select * from #temp where ID_num=@@rowcount
    drop table #temp

    این روش هم یه مقدار زمانگیره ولی چون این عملیات تماما توی بانک انجام میشه سرعت اجرای بهتری داره.

  8. #8
    کاربر دائمی آواتار raha_20
    تاریخ عضویت
    آبان 1386
    محل زندگی
    registry
    سن
    35
    پست
    342

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

    اگه تو بانک فیلد increment داشته باشیم و بخواهیم اطلاعات درج کنیم اگه مقداردهی واسه اون فیلد انجام ندیم خودش به صورت اتوماتیک واسه اون فیلد مقدار بعدی ر ا نمی زاره ؟؟؟؟؟؟؟

    چرا اینجوری ؟
    ؟
    ؟

  9. #9
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

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

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
    مواردی که دوستان گفتند درسته فقط یه مشکل کوچیک داره!! اونم اینه که اگه توی بانک تعداد رکوردها زیاد باشه (مثلا چند میلیون رکورد) و برنامه هم تحت شبکه و یا وب باشه داده های زیادی باید به کلاینت منتقل بشه که این زمان زیادی میگیره، حتی اگه برنامه ، یه WinApp ساده با تعداد رکورد بالا باشه بازم زمانگیر میشه.
    بهتره کوئری رو طوری بنویسی که فقط یک رکورد رو برگردونه.
    اگر آخرین رکورد بر اساس ترتیب فیلد خاصی باشه که کار احته کافیه اول بصورت نزولی مرتب بشه بعد اولین رکورد خونده بشه
    Select Top 1 * From TableName Order By FieldName Desc

    ولی اگه آخرین رکورد فقط براساس زمان ثبت باید پیدا بشه میشه از روشی مثل روش زیر استفاده کرد:
    SELECT *,ID_Num = IDENTITY(int, 1, 1) into #temp from TableName
    select * from #temp where ID_num=@@rowcount
    drop table #temp

    این روش هم یه مقدار زمانگیره ولی چون این عملیات تماما توی بانک انجام میشه سرعت اجرای بهتری داره.
    اساس حرفتان کاملا درست است، در بانک انجام دادن بهتر از به کلاینت کشنادن است، میشه اینطوری یکمی ساده‌اش کرد (به شرطی که Id یک فیلده افزایشی باشد):
    select * from table where id=Max(id)

  10. #10
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

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

    نقل قول نوشته شده توسط shahab_ss مشاهده تاپیک
     id = dt.Rows[dt.Rows.Count - 1]["ID"].ToString();
    حالا اگر فیلد ID بصورت Auto Increment تعریف نشده باشه ، اونوقت چی ؟؟
    در آن حالت آخرین رکورد معنی ندارد.آخرین رکورد را چطوری تعریف میکند. بدانه داشتن یک فیلده افزایشی (تاریخ اینسرت، آیدی،...) چیزی به اسمه آخرین رکورد نمیشه داشت. آخرین رکورد بر چه حسابی؟

  11. #11

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

    منم همین مشکل را دارم کسی میتونه کمک کنه

    منم میخوام اخرین رکورد را بدون رفرش صفحه نشون بده

  12. #12

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

    نقل قول نوشته شده توسط shahnameh مشاهده تاپیک
    منم همین مشکل را دارم کسی میتونه کمک کنه

    منم میخوام اخرین رکورد را بدون رفرش صفحه نشون بده

    شما خیلی راحت تعداد سطراتو بشمار و بعد منهای یک کن اینجوری آخرین رکوردی که ثبت شده را نمایش میده :


    int total = ba.select_ashkhas().Rows.Count;

    اینجا من از معماری سه لایه استفاده کردم ولی مشخص هست که یه دستور سلکت که داشتم رو اجرا کردم و بعد تعداد سطرهارو گرفتم گذاشتم تو متغیرم و بعد برا نمایش هم باید این مقدار را منهای یک کنی مثل این :
    tname.Text = ba.select_ashkhas().Rows[total - 1]["name"].ToString();


    البته با این دستور هم در دیتابی اکسس میتونی اخرین رکورد رو به شرط اینکه یه فیلد اتو نامبر داشته باشی بر گردونی :
    Select top 1 *
    from ashkhas
    order by ID desc

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •