End. DB Project ------- An Online Retail DB AP

Cont.

在这里插入图片描述

Check login

def login_check(userName,Password):
   cursor, db = connect_database()
   sql = f"SELECT CustomerName FROM customer" \
         f" WHERE CustomerId='{
      
      userName}' and Password='{
      
      Password}'"
   print(sql)
   results = ""
   try:
      cursor.execute(sql)

      results = cursor.fetchall()
   except:
      print('login error')
      return 'login error'
   if len(results) == 0:
      print('username or password not right')
      return 'username or password not right'
   else:
      print(results[0][0])
      return results[0][0]

check login status

def logging_status(ID):
   if ID  == None:
      return False
   return True

def show_shopItems(shopId):
   cursor,db=connect_database()
   sql = f"SELECT * FROM shopitem WHERE ShopId={
      
      shopId}"
   if shopId == '' or shopId == 'input shop ID here':
      sql="SELECT * FROM shopitem"
   results=""
   try:

      cursor.execute(sql)
      results = cursor.fetchall()
      for row in results:
         shopId = row[0]
         ItemName = row[1]
         Price = row[2]
         ItemId = row[3]
         Keywords = row[4]
   except:
      print ("Error: unable to fetch data")
      return None
   db.close()
   return results

UI Design

#customer login
self.ui.login_button.clicked.connect(self.login)
#customer logout
self.ui.logout_button.clicked.connect(self.logout)

login

 def login(self):
        userId=self.ui.userName_text.toPlainText()
        passWord=self.ui.passWord_text.text()
        message=functions.login_check(userId,passWord)
        if message == 'username or password not right' or message == 'login error':
            QMessageBox.about(self, "Error", message)
        else:
            QMessageBox.about(self, "login", f'Login success, Welcome {
      
      message}')
            self.ui.loginMessage_label.setText(f'Welcome {
      
      message}')
        self.userId=userId

logout

   def logout(self):
        self.userId=None
        self.ui.loginMessage_label.setText("Login to start")

猜你喜欢

转载自blog.csdn.net/weixin_45646640/article/details/130220165
DB
今日推荐