From 40aa1c0ec8f7fcfc4f46310b99d00bbb9925d887 Mon Sep 17 00:00:00 2001 From: kejingfan Date: Wed, 5 Jun 2024 11:23:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9E=E9=AA=8C7-1?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Problem1/__pycache__/main.cpython-311.pyc | Bin 8368 -> 0 bytes Assignments/Assignment7/src/Problem1/db.sql | 21 ++++++++ Assignments/Assignment7/src/Problem1/main.py | 46 +++++++++--------- Assignments/Assignment7/src/Problem1/run.sh | 4 +- 4 files changed, 48 insertions(+), 23 deletions(-) delete mode 100644 Assignments/Assignment7/src/Problem1/__pycache__/main.cpython-311.pyc diff --git a/Assignments/Assignment7/src/Problem1/__pycache__/main.cpython-311.pyc b/Assignments/Assignment7/src/Problem1/__pycache__/main.cpython-311.pyc deleted file mode 100644 index 1c5209177ef5196b6724d18c0845dc065b91eae2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8368 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 str: try: - cursor.callproc('VerifyUser', (id, password, "@verify_status")) + cursor.callproc('VerifyUser', (id, password, "")) cursor.fetchall() cursor.execute("SELECT @_VerifyUser_2;") verify_status = cursor.fetchone()['@_VerifyUser_2'] except pymysql.MySQLError as e: print(e) - if e.args[0] == 1644: # SQLSTATE 45000 corresponds to error code 1644 - return "NO_USER" return "DB_ERROR" return verify_status @@ -78,11 +76,16 @@ class ModifyInfo: self.command = modifyType2command[modifyType] def get_args(self): - return (self.id, self.command, self.new_password, self.phone_number, "@result_message") + return (self.id, self.command, self.new_password, self.phone_number, "") def get_ok_message(self, cursor): cursor.execute("SELECT @_ModifyPassengerInfo_4;") - return cursor.fetchone()['@_ModifyPassengerInfo_4'] + result_message = cursor.fetchone() + print(result_message) + if type(result_message) is dict: + return result_message['@_ModifyPassengerInfo_4'] + else: + return result_message[1] @app.route("/modify.html", methods=('GET', 'POST')) def modify(): @@ -105,6 +108,7 @@ def modify(): db.close() return redirect(url_for('modify')) elif verify_info == "DB_ERROR": + flash("数据库异常,验证失败") db.close() return redirect(url_for('modify')) @@ -116,12 +120,10 @@ def modify(): flash(modifyInfo.get_ok_message(cursor)) except pymysql.MySQLError as e: db.rollback() - if e.args[0] == 1644: # SQLSTATE 45000 corresponds to error code 1644 - flash("用户不存在,无法修改") - else: - print(e) - flash("数据库异常,修改失败") - db.close() + flash("数据库异常,修改失败") + print(e) + finally: + db.close() return redirect(url_for('index')) if __name__ == "__main__": diff --git a/Assignments/Assignment7/src/Problem1/run.sh b/Assignments/Assignment7/src/Problem1/run.sh index 9a05095..b771f9f 100644 --- a/Assignments/Assignment7/src/Problem1/run.sh +++ b/Assignments/Assignment7/src/Problem1/run.sh @@ -1 +1,3 @@ -SECRET_KEY='ILOVEDATABASETECH' FLASK_APP=main FLASK_ENV=development flask run --host 0.0.0.0 --port 5000 \ No newline at end of file +SECRET_KEY='ILOVEDATABASETECH' FLASK_APP=main FLASK_ENV=development flask run \ + --host 0.0.0.0 \ + --port 8888 # default 5000 \ No newline at end of file