X

3- عمل برنامج بالبايثون + التعامل مع قواعد البيانات

 
  • Filter
  • الوقت
  • عرض
مسح الكل
مشاركات جديدة

    Font Size
    #1



    السلام عليكم ورحمة الله وبركاته

    مراسلكم من وراء الشاشه عبدالله يرحب بكم

    نستكمل ما توقفنا عنده في عمل برنامج بالبايثون والتعامل مع قاعدة البيانات

    اليوم نبدء بالحديث عن كيفية تحديث معلومات العميل وايضآ كيفية تغيير الصوره الخ ..

    اولآ نقوم بفتح برنامج Designer PyQt5 وعمل واجهة تصميم التحديث بهذا الشكل



    نقوم بعمل ملف بأسم UpdateUser.py وهذا الكود الخاص به

    Code:
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.uic import loadUiType
    import os,sqlite3
    
    
    PRO_UPDATE,_ = loadUiType(os.path.join(os.path.dirname(__file__),'UpdateUser.ui'))
    
    class UpdateUser(QMainWindow,PRO_UPDATE):
        def __init__(self,parent=None):
            super(UpdateUser,self).__init__(parent)
            self.setupUi(self)
            self.CnlUpdate.clicked.connect(self.Cancel)
            self.txtUpdate.clicked.connect(self.UpdateUserName)
            self.btnOpenImages.clicked.connect(self.OpenImages)
            self.btnInfoUser.clicked.connect(self.InsertUpUserName)
    
        #Here The Methods
    
        def Cancel(self):
            self.hide()
    
        def InsertUpUserName(self):
            if self.txtPhone.text() is '':
                QMessageBox.question(self,'Message','الرجاء ادخل رقم هاتف',QMessageBox.Ok)
            else:
                self.db = sqlite3.connect('dbUser.db')
                self.con = self.db
                if self.con:
                    self.cur = self.con
                    self.sql = 'select * from Usr where userphone={}'.format(self.txtPhone.text())
                    for row in self.cur.execute(self.sql):
                        self.idUser = row[0]
                        self.txtUserName.setText(row[1])
                        self.txtUserWorks.setText(row[2])
                        self.txtUserPhone.setText(row[3])
                        self.lblUserImg.setPixmap(QPixmap(row[4]))
                    self.cur.commit()
                    self.cur.close()
    
        def OpenImages(self):
            self.options = QFileDialog.Options()
            self.options |= QFileDialog.DontUseNativeDialog
            self.fileName, _ = QFileDialog.getOpenFileName(self, "QFileDialog.getOpenFileName()", "","All Files (*);;Text Files (*.jpg *.png *.gif)",options=self.options)
            if self.fileName:
                self.lblUserImg.setPixmap(QPixmap(self.fileName))
    
        def UpdateUserName(self):
            self.db = sqlite3.connect('dbUser.db')
            self.con = self.db
            if self.con:
                self.name = self.txtUserName.text()
                self.works = self.txtUserWorks.text()
                self.phone = self.txtUserPhone.text()
                self.cur = self.con
                self.cur.execute("UPDATE Usr SET username=?,userworks=?,userphone=?,userimages=? WHERE ID=?", (self.name,self.works,self.phone,self.fileName,self.idUser))
                self.cur.commit()
                self.cur.close()
                QMessageBox.question(self,'الرسالة','تم تحديث البيانات',QMessageBox.Ok)
    سأقوم بالبحث عن شخص من خلال رقمه في واجهة التحديث كما بالصوره



    سأحدث البيانات بما فيها صورة العميل واضغط تحديث



    الأن سأبحث عن العميل بعد تحديثه في الواجهه الرئيسية



    كل شيء تمام بفضل لله اولآ واخيرآ

    ملاحظه : سأترك خيار الحذف للاعضاء حتى يتمرسوا على كيفية طريقة الحذف برمجيآ


    *
    او
    *


    الى هنا انتهيت من برنامجي البسيط المتواضع

    اتمنى للجميع التوفيق

    الملفات المرفقة
    Similar Threads
Working...
X