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

آموزش دکمه های پیمایش در جاوا

آنچه در اینجا انجام خواهیم داد، افزودن چهار دکمه به فرم می باشد. دکمه ها ما را قادر خواهند کرد تا از طریق رکوردها به جلو برویم، به عقب بازگردیم، یا وارد اولین ویا آخرین رکورد شویم.

بنابراین یک پنل جدید به فرم خود اضافه کنید. آن را بزرگ کرده و سپس دکمه ها را به پنل اضافه کنید. نام های متغیرهای دکمه ها را مانند زیر تغییر دهید:

btnNext btnPrevious btnLast btnFirst

متن روی هر دکمه را به Next, Previous, Last, First تغییر دهید. سپس فرم شما چیزی مشابه تصویر زیر خواهد بود:

آموزش جاوا

حرکت به رکورد بعدی:

روی دکمه ی Next دابل کلیک کنید تا یک code stub ایجاد کنید.

شما با دکمه ی Next دو کار می توانید انجام دهید: اول بررسی اینکه آیا رکورد دیگری وجود دارد تا به آن وارد شوید و دوم اینکه اگر رکورد دیگری وجود دارد آن را در Text Fields نمایش دهید. برای این مسئله می توانیم یک IF Statement ایجاد کنیم. اما لازم است در یک بلوک try … catch قرار گیرد. بنابراین کد زیر را به code stub مربوط به دکمه ی Next وارد کنید:

مثال:

try {
if ( rs.next( ) ) {‎
‎}
else {
rs.previous( );
JOptionPane.showMessageDialog(Workers.this, "End of File");
‎}
‎}
catch (SQLException err) {
JOptionPane.showMessageDialog(Workers.this, err.getMessage());
‎}‎

IF Statement در واقع ResultSet را در یک زمان روی یک رکورد جابه جا می کند. اگر رکورد دیگری وجود نداشته باشد، یک مقدار false گزارش می شود. بخش Else در رکورد esultSet را به عقب بازمی گرداند، به این علت که نشانگر آخرین رکورد را انتقال خواهد داد.

در آکولادهای مربوط به IF Statement ، می توانیم کدی را برای نمایش رکورد در Text Fields اضافه کنیم:

مثال:

int id_col = rs.getInt("ID"); 
String id = Integer.toString(id_col); 
String first = rs.getString("First_Name"); 
String last = rs.getString("Last_Name"); 
String job = rs.getString("Job_Title");‎
textID.setText(id); 
textFirstName.setText(first); 
textLastName.setText(last); 
textJobTitle.setText(job);‎

این همان کدی است که در متود DoConnect داریم. ( می توانستیم یک متود جدید ایجاد کنیم، بنابراین برای جلوگیری از تکرار هر گونه کد و ساده بودن آن این کار را کردیم.)

کد مربوطبه دکمه ی Next باید مشابه کد زیر باشد:

آموزش جاوا

وقتی کد خود را اضافه کردید، برنامه ی خود را اجرا کرده و آن را امتحان کنید. اگر به کلیک کردن روی دکمه ی next ادامه دهید، همه ی داده ها را در جدول مشاهده خواهید کرد. به هرحال در اینجا مشکلی وجود دارد.

وقتی به آخرین رکورد می رسید، باید یک پیغام خطا مشاهده کنید:

آموزش جاوا

مشکل این است که ما یک خط rs.previous اضافه کرده ایم. به هرحال ما از نوع ResultSet پیش فرض استفاده کرده ایم. همانطور که در آخرین بخش توضیح دادیم، این خط به شما یک ResultSet ارائه می دهد که فقط می تواند به جلو حرکت کند. ما می توانیم از نوع پیشنهاد شده در پیغام خطا استفاده کنیم.

برنامه ی خود را متوقف کرده و به پنجره ی برنامه نویسی (coding window) خود بازگردید. در متود DoConnect، خط زیر را قرار دهید:

stmt = con.createStatement( );‎

آن را مانند زیر تغییر دهید ( کد شما باید در یک خط قرار گیرد.):

stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ‎ResultSet.CONCUR_UPDATABLE );‎

اکنون نوع ResultSet به ما اجازه خواهد داد تا به عقب نیز برگردیم.

مجددا برنامه ی خود را اجرا کنید. آنقدر روی دکمه ی Next کلیک کنید تا به آخرین رکورد برسید. شما باید پیغام خطایی از بخش try از بلوک try … catch مشاهده کنید:

آموزش جاوا

در بخش بعد در مورد چگونگی بازگشتن به عقب از طریق رکوردهای دیتابیس صحبت خواهیم کرد.

  • 3569
  •    1564
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

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

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .