تکین وب | آموزش برنامه نویسی
تکین وب | آموزش برنامه نویسی

اتصال به پایگاه داده در جاوا (قسمت دوم)

۲۱ تیر ۱۳۹۵

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

برای طراحی یک فریم ، باید به قسمت Design مراجعه کنید که با آن در قسمت قبلی آشنا شده ایم . فریم مورد نظر دارای دو بخش username و password برای وارد کردن نام کاربری و رمز عبور کاربر جهت جستجو در پایگاه داده و یک دکمه ی log in برای اعمال این جستجو می باشد .

از قسمت سمت راست یعنی قسمت palette که شامل  بخشهایی مانند  swing containers و swing controls و … می باشد ،  می توان با استفاده از کنترل ها به طراحی فرم دلخواهمان بپردازیم . که این کار با drag and drop کردن کنترل مورد نظر ایجاد می شود . برای مثال می توانیم از دو lable برای username و password و یک  field text برای وارد کردن جایی که کاربر می خواهد نام کاربری خود را وارد کند و یک password field برای وارد کردن پسورد کاربر استفاده می کنیم . سپس با کلیک راست کردن بر روی هر کدام از آنها و انتخاب edit text ، متن دلخواه خود را وارد میکنیم . مثلا برای دو lable ، نام های username و password و برای دو کنترل دیگر جهت ورود نام کاربری و پسورد ، آن ها را بدون متن یا خالی قرا می دهیم :

5

حال برای اینکه نظمی برای این ۴ شیئ ایجاد کنیم با انتخاب همه ی آبجکت ها و سپس کلیک راست کردن و انتخاب Enclose In و سپس گزینه ی Panel  همه ی آنها را در یک پنل قرار می دهیم :

6

در این صورت به چنین پنلی خواهیم رسید :

7

شما می توانید از قسمت properties (قسمت پایین palette) به شخصی سازی این قسمت بپردازید . مثلا رنگ یا فونش را عوض کنید . در اینصورت مثلا به فرمی به شکل زیر می توان رسید :

 اتصال به پایگاه داده در جاوا

حالا می خواهیم کد های مربوط به دکمه ی login که کاربر بعد از زدن این دکمه به دیتا بیس متصل می شود را بنویسیم . برای این کار ابتدا باید برای اشیاءای که می خواهیم در کد از آنها استفاده کنیم ، شناسه ای را قرار دهیم . برای این کار با کلیک راست کردن بر روی شیء مورد نظر و سپس انتخاب گزینه ی change variable name میتوان شناسه ی دلخواهی را برای آنها تعیین کرد . به یاد داشته باشید که این شناسه ها دلخواه هستند . (مثلا برای دکمه ی login شناسه ی btnLog و برای username شناسه ی txtuser و برای password از txtPass استفاده می کنیم ) :

12

9

و اما برای کدنوسی این قسمت باید بر روی دکمه ی مورد نظر کلیک راست کرده و با طی کردن مسیر زیر به قسمتی برای کدنویسی هدایت شویم . چرا که با انتخاب این دکمه توسط کاربر به دیتا بیس متصل می شویم :

10

 

کدهای زیر را بعد از این مرحله وارد می کنیم :

private void btnLogActionPerformed(java.awt.event.ActionEvent evt) {                                       
              String Uname = txtUser.getText() ;
              String Upass = txtPass.getText() ;
              String Query = "select * from user where userName ='"+Uname+"'"+"and pass ='"+Upass+"'" ;
        if (connected_to_db())
          if (Query_to_DB(Query))
          {
             JOptionPane.showMessageDialog(null, "connected !!");
              
          }
        else
          {
             JOptionPane.showMessageDialog(null, "can not find the info !!");
          }
    }              

اگر به یاد داشته باشید ، ما دو تابع برای اتصال به دیتابیس  takinweb که شامل دو جدول user و book بود ، داشتیم . به همین منظور به دیتابیس و به جدول user مراجعه می کنیم و مقادیری را با استفاده از Insert در آن قرار می دهیم :

11

حال برای تست درستی این کدها و این مراحل برنامه را ران می کنیم و مثلا در قسمت Username ، نام Amir و در قسمت Password ، پسورد مربوط به آن یعنی ۱۲۳۴ را وارد می کنیم . سپس با انتخاب گزینه ی Login مشاهده میکنیم که پیام connected ظاهر خواهد شد .

توضیحات کد :

در ابتدا از دو String جهت قرار گرفتن مقداری که کاربر  وارد میکند (یعنی همان username و password)  ، استفاده می کنیم . تابع ()getText چیزی که به عنوان text وارد شیءای با شناسه ی txtUser شده است را می گیرد و سپس آن وارد String ای به نام Uname می کند .

در خط ۴ باید یک Query بنویسیم که به وسیله ی آن اطلاعات را از جدول user موجود در پایگاه داده بخوانیم و آن را به عنوان مقدار ورودی برای تابع (Query_to_DB(Query قرار دهیم . در واقع این دو if تو در توبیان می کنند که در صورتی که ارتباط با پایگاه داده ایجاد شد و query زده شده درست و موجود بود ، با پیغام connected به کاربر بفهماند که اتصال برقرار است در غیراین صورت پیغامی مانند can not find the info را نشان دهد .

در ضمن اگر اینستاگرامی هستید حتما @Takinweb را فالو کنید…

درباره ی عطیه رحمانی

دیدگاه ها

دیدگاه خود را به ما بگویید.

کلیه ی حقوق مادی و معنوی مطالب متعلق به سایت تکین وب می باشد و کپی برداری و بازنشر آن بدون ذکر منبع کاری غیر حرفه ای و غیر اخلاقی و قابل پیگرد قانونی خواهد بود.
کانال تلگرام تکین وب