qtdesigner-请假(仅仅是尝试使用软件)

在这里插入图片描述
下面是我给他们起的名字。
在这里插入图片描述
现在修改完名字之后,导出成MainWindow.ui文件
在这里插入图片描述
打开anaconda的shell
在这里插入图片描述
现在就产生了MainWindow.py,打开它
打开pycharm,创建一个新的名为askForLeave的project,把MainWindow.py移进来。
创建Leave.py作为主程序(起名废)

现在给MainWindow.py配置环境
在这里插入图片描述
写的代码如下

    def ask4leave(self):
        logmsg=''
        strSN=self.lineEdit_studentNumber.text()
        strCN=self.lineEdit_classNumber.text()
        strW=self.lineEdit_week.text()
        intW=int(strW)
        strO=self.lineEdit_order.text()
        intO=int(strO)
        strR=self.lineEdit_reason.text()
        print('Connecting to MSSQL...')
        cnxn = pyodbc.connect(
            'DRIVER={SQL Server};SERVER=localhost;DATABASE=register;UID=sa;PWD=gslsgsls')
        print('Connected...')
        cursor = cnxn.cursor()
        sql = "insert into 请假(学号,课程号,周次,编号,请假理由,处理状态) values("+strSN+","+strCN+","+intW+","+\
            intO+","+strR+",'未处理')"
        logmsg=sql
        try:
            cursor.execute(sql)
            cnxn.commit()
            cnxn.close()
            print("提交成功!")
            logmsg += "\n已提交!"
            self.lineEdit_studentNumber.clear()
            self.lineEdit_classNumber.clear()
            self.lineEdit_week.clear()
            self.lineEdit_order.clear()
            self.lineEdit_reason.clear()
            flag=1
        except:
            if flag==0:
                print("提交失败")
                logmsg += '提交失败'

现在尝试运行一下:
在这里插入图片描述
在这里插入图片描述
建立了一些脚手架

print('Connected...')
        cursor = cnxn.cursor()
        print("成功创建游标")
        print(strSN,strCN,intW,intO,strR)
        sql = "insert into registration values('" + strSN + "', '" + strCN + "', '" + intW + "', '" + intO + "', '" +strR+ "')"
        print('成功定义sql语句')
        logmsg=sql
        flag=0
        try:
            print("开始尝试")

在这里插入图片描述
所以问题出在赋值语句sql = "insert into registration values('" + strSN + "', '" + strCN + "', '" + intW + "', '" + intO + "', '" +strR+ "')"
原来问题出在python语句中int类型变量不能和字符串直接相加。
改成

sql = "insert into 请假(学号,课程号,周次,编号,请假理由,处理状态) values("+strSN+","+strCN+","+strW+","+strO+\
            ","+strR+",'未处理')"

现在的结果是这样的:
在这里插入图片描述
最后发现报错的原因还是这句sql的赋值语句,单引号忘记了,还有有些逗号是中文格式的。又修改了一下:

        sql = "insert into 请假(学号,课程号,周次,编号,请假理由,处理状态)values("+"'"+strSN+"'"+","+"'"+strCN+"'"+","\
              +strW+","+strO+","+"'"+strR+"'"+",'未处理')"

就成功了!!
所以以下是代码:

    def ask4leave(self):
        logmsg=''
        strSN=self.lineEdit_studentNumber.text()
        strCN=self.lineEdit_classNumber.text()
        strW=self.lineEdit_week.text()
        intW=int(strW)
        strO=self.lineEdit_order.text()
        intO=int(strO)
        strR=self.lineEdit_reason.text()


        print('Connecting to MSSQL...')
        cnxn = pyodbc.connect(
            'DRIVER={SQL Server};SERVER=localhost;DATABASE=register;UID=sa;PWD=gslsgsls')
        print('Connected...')
        cursor = cnxn.cursor()
        sql = "insert into 请假(学号,课程号,周次,编号,请假理由,处理状态)values("+"'"+strSN+"'"+","+"'"+strCN+"'"+","\
              +strW+","+strO+","+"'"+strR+"'"+",'未处理')"
        print(sql)
        logmsg=sql
        flag=0
        try:
            cursor.execute(sql)
            cnxn.commit()
            cnxn.close()
            print("提交成功!")
            logmsg += "\n已提交!"
            flag=1
            self.lineEdit_studentNumber.clear()
            self.lineEdit_classNumber.clear()
            self.lineEdit_week.clear()
            self.lineEdit_order.clear()
            self.lineEdit_reason.clear()
        except:
            if flag==0:
                print("提交失败")
                logmsg += '提交失败'

别忘了在setupUi里加一句:

self.pushButton.clicked.connect(self.ask4leave)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值