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

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

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    خوزستان -دزفول
    سن
    39
    پست
    85

    مشکل در پیدا کردن آخرین شماره دانشجویی ذخیره شده در بانک

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

  2. #2
    کاربر دائمی
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    جلوي مانيتور
    پست
    287

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

    بهترین راه اینه که شما آخرین شماره را در یک جایی نگهداری کنید!!!!
    حالا کجا؟؟؟!!!
    آهان.....
    چون ما با یک عدد طرف هستیم دو نوع استراتژی برای برنامه تک کاربره و دو استراتژی برای برنامه چند کاربره داریم :
    1- اگر برنامه شما تک کاربره و بر روی یک دستگاه اجرا می شود بهترین جا برای نگهداری عدد داخل Registery است . اما این نوع ذخیره سازی در نوع خود اشکالاتی دارد مثلا اگر ما ویندوز دستگاه را عوض کنیم بالتبع محتویات Registery هم پاک می شود!!!
    2- بهترین راه برای نگهداری عدد در حالت تک کاربره نگهداری داخل یک فایل در مسیر اجرای برنامه است که این فایل در زمان تهییه پشتیبان ، Backup گرفته شود .
    3 - حالا برای حالت برنامه چند کاربره یک راه قراردادن یک دستگاه به عنوان server و ذخیره عدد برروی آن است و تمام client ها هر وقت به این عدد احتیاج داشتند آنرا از این دستگاه می خوانند و تغییرات را برای ذخیره به آن می فرستند .
    4 - یک راه دیگر ذخیره آن عدد و تغییرات آن در بانک اطلاعاتی است که بقیه اطلاعات ذخیره می شود
    البته ممکن است دوستان دیگر راههای دیگری را پیشنهاد کنند....

  3. #3
    کاربر دائمی آواتار mansourii
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    299

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

    هترین راه اینه که شما آخرین شماره را در یک جایی نگهداری کنید!!!!
    حالا کجا؟؟؟!!!
    آهان.....
    چون ما با یک عدد طرف هستیم دو نوع استراتژی برای برنامه تک کاربره و دو استراتژی برای برنامه چند کاربره داریم :
    1- اگر برنامه شما تک کاربره و بر روی یک دستگاه اجرا می شود بهترین جا برای نگهداری عدد داخل Registery است . اما این نوع ذخیره سازی در نوع خود اشکالاتی دارد مثلا اگر ما ویندوز دستگاه را عوض کنیم بالتبع محتویات Registery هم پاک می شود!!!
    2- بهترین راه برای نگهداری عدد در حالت تک کاربره نگهداری داخل یک فایل در مسیر اجرای برنامه است که این فایل در زمان تهییه پشتیبان ، Backup گرفته شود .
    3 - حالا برای حالت برنامه چند کاربره یک راه قراردادن یک دستگاه به عنوان server و ذخیره عدد برروی آن است و تمام client ها هر وقت به این عدد احتیاج داشتند آنرا از این دستگاه می خوانند و تغییرات را برای ذخیره به آن می فرستند .
    4 - یک راه دیگر ذخیره آن عدد و تغییرات آن در بانک اطلاعاتی است که بقیه اطلاعات ذخیره می شود
    البته ممکن است دوستان دیگر راههای دیگری را پیشنهاد کنند....

  4. #4
    کاربر دائمی آواتار mansourii
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    299

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

    سلام به دوستان و مهندسان عزیز .
    من در حال نوشتن یه برنامه بانک اطلاعاتی (ثبت دانشجو ) هستم که برای ثبت دانشجوا نیاز به شماره منحصر هست . که دو رقم اول مربوط به سال ورود و دو رقم بعد مربوط می شه به ماه بقیه هم که یکی یکی جمع می شه .
    تاریخ و روز رو بدست میارم بعد یکی یکی برنامه در وقت ذخیره اطلاعات به sql شمارنده یه عدد به اون اضاف می کنه اما اگر برنامه بسته بشه و باز اجرا کنیم از اول شروع به کار می کنه و اعداد تکراری می ده که برای ذخیره اطلاعات دچار مشکل می شم کسی می دونه چطور می شه کاری کرد که بعد از ورود به برنامه آخرین شماره رو از بانک پیدا کنه .
    ممنون می شم از دوستان .
    مگه شماره دانشجویی ها یکی یکی زیاد نمیشن؟
    مثلا:
    890701154
    قرمز رنگ : سال ورود
    مشکی : رشته (بعضی ها شناسه دارن)
    آبی : شناسایی دانشجو
    برای همچین معماری اصولا از اولویت بندی استفاده میشه. هر کی جود تر بیاد زود تر ثبت نام میشه.درسته.
    پس بنابراین ثبت نام آخرین نفر شماره بیشتر از قبلیست
    مثلا:
    890552333
    نفر بعدی
    890552334
    این کار یک دستور Select ساده و کوچولو نیاز داره که ببینه توی دیتا بیس کدوم عدد از همه اعدا (شماره دانشجویی ها)بزرگتره رو توی یک فیلد خصوصی نگه داره بعد عدد بزرگتر از اون رو در دیتابیس ذخیره کنه.

  5. #5
    کاربر دائمی آواتار mansourii
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    299

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

    متوجه نشدید بگید تا یک مثال شبیه به سوال شما بذارم.

  6. #6

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


    SELECT MAX(id) AS id
    FROM tbllevel

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    خوزستان -دزفول
    سن
    39
    پست
    85

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

    نقل قول نوشته شده توسط mansourii مشاهده تاپیک
    مگه شماره دانشجویی ها یکی یکی زیاد نمیشن؟
    مثلا:
    890701154
    قرمز رنگ : سال ورود
    مشکی : رشته (بعضی ها شناسه دارن)
    آبی : شناسایی دانشجو
    برای همچین معماری اصولا از اولویت بندی استفاده میشه. هر کی جود تر بیاد زود تر ثبت نام میشه.درسته.
    پس بنابراین ثبت نام آخرین نفر شماره بیشتر از قبلیست
    مثلا:
    890552333
    نفر بعدی
    890552334
    این کار یک دستور Select ساده و کوچولو نیاز داره که ببینه توی دیتا بیس کدوم عدد از همه اعدا (شماره دانشجویی ها)بزرگتره رو توی یک فیلد خصوصی نگه داره بعد عدد بزرگتر از اون رو در دیتابیس ذخیره کنه.
    سلام
    ممنون از جوابتون
    اگر بتونید با یه مثال بیشتر توضیح بدید ممنون می شم

  8. #8

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

    همونطور که دوستمون گفتن اصلا نیاز نیست اطلاعات شما در جای دیگه ایی ثبت بشه. شما اطلاعات رو در دیتابیس می ریزید و با کد زیر آخرین رکورد رو بر می گردونید:

    Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" & Application.StartupPath & "\database.accdb")
    Dim cmd As OleDbCommand = New OleDbCommand("select Top 1 * from student ORDER BY [number] DESC", con)
    Dim reader As OleDbDataReader
    con.Open()
    reader = cmd.ExecuteReader()
    reader.Read()
    Dim number As String = reader("number").ToString()
    Label1.Text = number
    reader.Close()
    con.Close()


    در این کد از جدول student اخرین رکورد رو که دارای بزرگترین شماره هست رو می خونه و شماره رو بدست میاره(البته از روش max که دوستان گفتن هم می تونید استفاده کنید)
    حالا باید چند تا نکته رو توجه کنید این روش شماره دهی تا ده سال دیگه مشکل ایجاد می کنه شما دو رقم سال رو می دید که در سال 1400 می شه 00 (مشکل سال 2000)
    احتمالا هر سال شماره ها از نو شروع به اضافه شدن می کنن که باید این رو هم در نظر بگیرید

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    خوزستان -دزفول
    سن
    39
    پست
    85

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

    نقل قول نوشته شده توسط pedram_ns مشاهده تاپیک
    همونطور که دوستمون گفتن اصلا نیاز نیست اطلاعات شما در جای دیگه ایی ثبت بشه. شما اطلاعات رو در دیتابیس می ریزید و با کد زیر آخرین رکورد رو بر می گردونید:

    Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" & Application.StartupPath & "\database.accdb")
    Dim cmd As OleDbCommand = New OleDbCommand("select Top 1 * from student ORDER BY [number] DESC", con)
    Dim reader As OleDbDataReader
    con.Open()
    reader = cmd.ExecuteReader()
    reader.Read()
    Dim number As String = reader("number").ToString()
    Label1.Text = number
    reader.Close()
    con.Close()


    در این کد از جدول student اخرین رکورد رو که دارای بزرگترین شماره هست رو می خونه و شماره رو بدست میاره(البته از روش max که دوستان گفتن هم می تونید استفاده کنید)
    حالا باید چند تا نکته رو توجه کنید این روش شماره دهی تا ده سال دیگه مشکل ایجاد می کنه شما دو رقم سال رو می دید که در سال 1400 می شه 00 (مشکل سال 2000)
    احتمالا هر سال شماره ها از نو شروع به اضافه شدن می کنن که باید این رو هم در نظر بگیرید
    ممنون از راهنمای خوبتون
    درست شد .
    به نظر شما برای اینکه به این مشکل بر نخورم چکار کنم بهتره .
    روش دیگه ای به نظرتون میاد که برای شماره دانشجویی یا هر شماره عضویت دیگه ای که بخوایم بدیم
    آخرین ویرایش به وسیله sorena2000 : پنج شنبه 02 دی 1389 در 10:11 صبح

  10. #10

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

    این کار رو به عنوان تمرین خودتون دارید انجام می دیدی یا برای جایی کار می کنید.
    اگر برای جایی کار می کنید که باید با متد خودشون شماره دهی کنید من خودم دقیقا نمی دونم از چه روشی استفاده می شه ولی می تونید یک کد به عنوان کد دانشگاه در اول بیارید بعد کد رشته بعد سال ورود و بعد هم شماره دانشجو 125 89 33 25 .

    اگر کسی از دوستان قبلا کار کرده کمک کنه ما هم استفاده کنیم.

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    خوزستان -دزفول
    سن
    39
    پست
    85

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

    نه برای خودم دارم کار می کنم .
    در حد یاد گیری هست . البته بعد از اینکه شما مشکل سال 400 رو گفتید برام جالب شد .
    ببینم بهترین راه برای قرار دادن شماره پرسنلی به چه صورت باشه خوبه
    کسی اگر بلده ممنون می شم اعلام کنه

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    مشهد
    پست
    251

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

    من چند سالي است با شركتهاي تعاوني كار ميكنم اين شركتهاي تعاوني از شماره عضويت استفاده ميكنند كه ميشود گفت همانند شماره دانشجويي است در سالهاي قبل حسابداران دقت بيشتري بكار ميبردن و در هنگام وارد كردن عضويت اشتباه نميكردند ولي حالا جوانها امده اند و سرعت كار را بالا برده اند و بجاي آن اشتباه هم در وارد كردن عضويت افزايش يافته است تنها راه براي جلوگيري از اين عمل استفاده از روش بانك سپه بود كه از چندين سال پيش اعمال ميشد كه بعد از شماره حساب دو رقم ديگر اضافه بود كه صحت شماره وارده را چك ميكرد كه اين عمل در شماره ملي هم آخرين عدد ميباشد
    دوست عزيز براي جلوگيري از وارد كردن شماره دانشجويي بهتر است از اين روش استفاده كنيد در همين سايت در مورد شماره ملي و روش تست ان توضيح داده شده است

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

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