X

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

Programming Languages

 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Oldvb
    Thread Author
    Free Membership
    • Sep 2018 
    • 1268 
    • 977 




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

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

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

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

    اولآ نقوم بفتح برنامج 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)
    سأقوم بالبحث عن شخص من خلال رقمه في واجهة التحديث كما بالصوره



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



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



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

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


    لتحميل المشروع
    او
    http://s11.alxa.net/s11/srvs14/001/5/Projects.rar


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

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