python操作mysql--银行转账实例
2017-04-05 23:36
453 查看
zhuanzhang.py
#coding:UTF8 #思路是:1 判断两个账户是否合法存在 # 2 判断原账户钱是否够 # 3 转出账户 减款 # 4 转入账户 加款 import sys import MySQLdb class Zhuanzhang(object): def __init__(self, conn): self.conn = conn def check_acct_available(self, acctid): cursor = self.conn.cursor() try: sql = "select * from account where acctid=%s" % acctid cursor.execute(sql) print "check_acct_available:"+sql rs = cursor.fetchall() if len(rs) !=1: raise Exception("帐号%s不存在"% acctid) finally: cursor.close() def has_enough_money(self, acctid, money): cursor = self.conn.cursor() try: sql = "select * from account where acctid=%s and money>%s" % (acctid,money) cursor.execute(sql) print "has_enough_money:"+sql rs = cursor.fetchall() if len(rs) !=1: raise Exception("帐号%s没有足够的钱"% acctid) finally: cursor.close() def reduce_money(self, acctid, money): cursor = self.conn.cursor() try: sql = "update account set money=money-%s where acctid=%s" % (money,acctid) cursor.execute(sql) print "reduce_money:"+sql if cursor.rowcount!=1: raise Exception("帐号%s减款失败"% acctid) finally: cursor.close() def add_money(self, acctid, money): cursor = self.conn.cursor() try: sql = "update account set money=money+%s where acctid=%s" % (money,acctid) cursor.execute(sql) print "reduce_money:"+sql if cursor.rowcount!=1: raise Exception("帐号%s加款失败"% acctid) finally: cursor.close() def zhuanzhang(self,zhuanchu_acctid,zhuanru_acctid,money): try: self.check_acct_available(zhuanchu_acctid) self.check_acct_available(zhuanru_acctid) self.has_enough_money(zhuanchu_acctid,money) self.reduce_money(zhuanchu_acctid,money) self.add_money(zhuanru_acctid,money) self.conn.commit() except Exception as e: self.conn.rollback() raise e if __name__ == "__main__": zhuanchu_acctid =sys.argv[1] zhuanru_acctid = sys.argv[2] money = sys.argv[3] conn = MySQLdb.Connect(host='127.0.0.1',user='root',passwd='',port=3306,db='imooc') zhuanzhang = Zhuanzhang(conn) try: zhuanzhang.zhuanzhang(zhuanchu_acctid,zhuanru_acctid,money) except Exception as e: print "出现问题:"+str(e) finally: conn.close()
相关文章推荐
- Python 操作MySQL实例之银行转账模拟
- 慕课 python 操作数据库2 银行转账实例
- python操作MySQL 模拟简单银行转账操作
- Python操作MySQL-(3)转账实例
- Python操作MySQL模拟银行转账
- python操作MySQL 模拟简单银行转账操作
- python操作MySQL 模拟简单银行转账操作
- 基于Python实现一个简单的银行转账操作
- Python操作Mysql实例代码
- Python操作Mysql实例代码
- Python操作MySQL实例讲解
- python操作mysql实例代码
- Python操作Mysql实例代码
- Python操作Mysql实例代码教程在线版(查询手册)
- Python操作Mysql实例代码教程在线版(查询手册)
- Python操作MySQL的9个实用实例
- python操作MongoDB、MySQL、Postgres、Sqlite、redis实例
- Python读取ini文件、操作mysql、发送邮件实例
- Python操作Mysql实例代码教程
- Python操作Mysql实例代码教程