第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

python連接mysql數(shù)據(jù)庫(kù)-銀行轉(zhuǎn)賬實(shí)驗(yàn)源碼

標(biāo)簽:
Python

#引入开发包

import sys

import pymysql

#创建TransferMoney类

class TransferMoney(object):

    #创建TransferMoney类构造函数并定义属性connection接收外部connection

    def __init__(self, connection):

        self.connection = connection

    #创建transfer方法

    def transfer(self,source_acctid, target_acctid, money):

       try:

        self.check_acct_avaliable(source_acctid)

        self.check_acct_avaliable(target_acctid)

        self.has_enough_money(source_acctid, money)

        self.reduce_money(source_acctid, money)

        self.add_money(target_acctid, money)

        self.connection.commit()

       except Exception as e:

         self.connection.rollback()

         raise e

    #创建check_acct_avaliable函数,检查账户可用性

    def check_acct_avaliable(self, acctid):

        cursor = self.connection.cursor()

        try:

            sql = "select * from account where acctid = %s" % acctid

            cursor.execute(sql)

            print("check_acct_avaliable"+sql)

            rs = cursor.fetchall()

            if len(rs) != 1:

                raise Exception("账号不存在"%acctid)

        finally:

            cursor.close()

    #创建has_enough_money函数,检查账户的钱是否足够转账

    def has_enough_money(self, acctid, money):

        try:

            cursor = self.connection.cursor()

            sql = "select * from account where acctid = %s and money >=%s" % (acctid, money)

            cursor.execute(sql)

            rs = cursor.fetchall()

            if len(rs) != 1:

                raise Exception("账号%s没有足够的钱" % acctid)

        finally:

            cursor.close()


    # 创建reduce_money函数,转出账户钱减少

    def reduce_money(self, acctid, money):

        try:

            cursor = self.connection.cursor()

            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()


    # 创建add_money函数,转入账户钱增加

    def add_money(self, acctid, money):

        try:

            cursor = self.connection.cursor()

            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()

#程序主入口

if __name__== "__main__":

    #通过argv从程序外部获取实参

    source_acctid = sys.argv[1]

    target_acctid = sys.argv[2]

    money = sys.argv[3]

    connection = pymysql.connect(host='localhost',

                                   user='root',

                                   password='123456',

                                   db='wikiurl',

                                   charset='utf8')

    #创建TransferMoney类的对象tr_money

    tr_money = TransferMoney(connection)

    try:

        tr_money.transfer(source_acctid, target_acctid, money)

    except Exception as e:

        print("出现问题"+str(e))

    finally:

        connection.close()


點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消