使用pyhton连接sqlserver

碎碎念


   最近刚学了数据库,在对数据库文件进行处理的时候第一步便是连接数据库吧。我看了很多遍文章关于数据库的连接都是老两步,调用pymssql库,一顿操作猛如虎(题外话:使用sqlserver的小伙伴,十二在这里强烈建议大家不要添加sa用户,原因就是太不安全。。)

import pymssql
conn = pymssql.connect(r'服务器名', '用户名', '密码', '数据库名')

 但是有个问题一直困扰着我,如果数据库连接失败,将会如何?任凭程序在编译器里报错?作为写程序的人一定知道,哦,我数据库没连接上。但当有其他人用你写的代码做东西时(比如我),纯代码还好,能看到报错,但一旦加了UI封装,数据库到底有没有连接上,用户就不知道的,程序崩溃退出,用户也不知道什么情况。

开始想 


   一开始呢,我是像加个判断条件不就好咯,如果连接不上,返回一个错误的值,实在不行做个弹窗。但我尝试了一下,发现好像不太行,看了网上的许多代码,好像。。也不太行。原因基本上都差不多(大家有空可以都去看看),程序在连接时就已经报错了后面的if条件跟本跳转不过去(QAQ)。所以我这里使用了另一种方法,就是try…catch…

解决方案


   本人也是萌新一枚,啥都不懂,python也是刚学,对try,catch的具体用法也不是很了解,在此献丑了(调用tkinter模块,蹦一个警告弹窗出来)

def sqltest():  # 测试连接
    try:
        conn = pymssql.connect(r'服务器名', '用户名', '密码', '数据库名')
    except BaseException:
        tkinter.messagebox.showwarning("警告", '未连接至数据库,请检查数据库参数设置')
        exit(0)
    else:
        conn.close() 

这样把数据库连接当做异常处理,连接不上报异常,就可以了(^-^)。。(萌新第一次发帖,不足之处希望各位大佬多提提意见,十二一定虚心接受。。)

猜你喜欢

转载自www.cnblogs.com/dabbiao/p/12303040.html
今日推荐