آموزش مدیریت پایگاه داده در PyQt

3 سال پیش
امتیاز دهید post

 آموزش مدیریت پایگاه داده در PyQt

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش مدیریت پایگاه داده در PyQt خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

PyQt API شامل یک سیستم کلاس پیچیده برای ارتباط با بسیاری از پایگاه های داده مبتنی بر SQL است. QSqlDatabase آن دسترسی از طریق یک شیء Connection را فراهم می کند. در زیر لیستی از درایورهای SQL موجود موجود است –

نوع درایور و توضیحات
1 QDB2

IBM DB2

2 QIBASE

Borland InterBase Driver

3 QMYSQL

MySQL Driver

4 QOCI

Oracle Call Interface Driver

5 QODBC

ODBC Driver (شامل Microsoft SQL Server)

6 QPSQL

PostgreSQL Driver

7 QSQLITE

SQLite version 3 or above

8 QSQLITE2

SQLite version 2

 

مثال

اتصال با پایگاه داده SQLite با استفاده از روش استاتیک ایجاد می شود –

 

روشهای دیگر کلاس QSqlDatabase به شرح زیر است –

روش ها و توضیحات
1 ()setDatabaseName

نام پایگاه داده ای را که اتصال با آن جستجو می شود تعیین می کند

2 ()setHostName

نام میزبانی را که پایگاه داده روی آن نصب شده است تعیین می کند

3 ()setUserName

نام کاربری را برای اتصال مشخص می کند

4 ()setPassword

در صورت وجود، رمز عبور شیء اتصال را تعیین می کند

5 ()commit

معاملات را انجام می دهد و در صورت موفقیت true برمی گرداند

6 ()rollback

تراکنش پایگاه داده را عقب می گرداند

7 ()close

اتصال را می بندد

 

کلاس QSqlQuery قابلیت اجرا و دستکاری دستورات SQL را دارد. هر دو نوع DDL و DML کوئری SQL را می توان اجرا کرد. مهمترین متد در کلاس ()_exec  است که یک رشته حاوی دستور SQL را برای اجرا به عنوان آرگومان می گیرد.

 

اسکریپت زیر پایگاه داده SQLite sports.db را با جدولی از افراد دارای پنج رکورد ایجاد می کند.

 

کلاس QSqlTableModel در PyQt یک رابط سطح بالا است که مدل داده قابل ویرایش را برای خواندن و نوشتن سوابق در یک جدول واحد فراهم می کند. این مدل برای پر کردن یک شی QTableView استفاده می شود. این یک نمای قابل پیمایش و قابل ویرایش را که می تواند در هر پنجره سطح بالا قرار گیرد به کاربر ارائه می دهد.

یک شی QTableModel به روش زیر اعلام می شود –

 

استراتژی ویرایش آن را می توان بر روی هر یک از موارد زیر تنظیم کرد –

QSqlTableModel.OnFieldChange همه تغییرات بلافاصله اعمال می شوند
QSqlTableModel.OnRowChange تغییرات زمانی اعمال می شود که کاربر ردیف دیگری را انتخاب کند
QSqlTableModel.OnManualSubmit همه تغییرات ذخیره می شوند تا زمانی که یا ()submitAll  یا ()revertAll فراخوانی شود

مثال

در مثال زیر جدول sportsperson به عنوان یک مدل استفاده می شود و استراتژی به صورت زیر تنظیم شده است:

 

کلاس QTableView بخشی از چارچوب Model/View در PyQt است. شی QTableView به صورت زیر ایجاد می شود –

 

این شی QTableView و دو ویجت QPushButton به پنجره QDialog سطح بالا اضافه می شوند. سیگنال ()Clicked  افزودن دکمه به ()addrow متصل می شود که ()insertRow را روی جدول مدل انجام می دهد.

 

شکاف مربوط به دکمه حذف یک عملکرد lambda را اجرا می کند که یک سطر را حذف می کند ، که توسط کاربر انتخاب می شود.

 

کد کامل به شرح زیر است –

 

خروجی به شکل زیر است:

Database Handling Output

 

منبع.

 

لیست جلسات قبل آموزش PyQt

  1. آموزش PyQt
  2. آموزش مقدمه PyQt
  3. آموزش Hello World در PyQt
  4. آموزش کلاس های اصلی در PyQt
  5. آموزش استفاده از Qt Designer در PyQt
  6. آموزش سیگنال ها و شکاف ها در PyQt
  7. آموزش مدیریت طرح بندی در PyQt
  8. آموزش ویجت های کلی در PyQt
  9. آموزش کلاس QDialog در PyQt
  10. آموزش کلاس QMessageBox در PyQt
  11. آموزش رابط چندین سند در PyQt
  12. آموزش کشیدن و رها کردن در PyQt
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه