-
Notifications
You must be signed in to change notification settings - Fork 1
/
db_operation.py
78 lines (70 loc) · 2.22 KB
/
db_operation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# 导入pymysql模块
import pymysql
import wx
import pymssql
import time
class Sql_operation(object):
'''数据库操作'''
# 用构造函数实现数据库连接,并引入mydb参数,实现调用不同的数据库
def __init__(self, host, mydb, port, user, password):
# def __init__(self):
# 实例变量
self.connect_success = 0
# 打开数据库连接
# print(host, mydb, int(port), user, password)
try:
# self.db = pymysql.connect(host=host, port=int(port), user=user, password=password, database=mydb, charset="utf8")
self.db = pymssql.connect(host=host, user=user, password=password, database=mydb,
charset="utf8")
# 创建游标对象
self.cursor = self.db.cursor()
self.connect_success = 1
except Exception as e:
raise e
# 查询记录.
def SelectRecord(self, sql, param):
try:
if param == ():
self.cursor.execute(sql)
else:
self.cursor.execute(sql, param)
# 处理结果
data = self.cursor.fetchall()
print(data)
return data
except Exception as e:
raise e
# 添加记录
def AddRecord(self, sql, param):
try:
self.cursor.execute(sql, param) # 添加多条记录.
self.db.commit()
except Exception as e:
raise e
# 更新记录.
def UpdateData(self, sql, param):
try:
self.cursor.execute(sql, param)
self.db.commit()
except Exception as e:
raise e
# 删除记录.
def DeleteRecord(self, sql, param):
try:
self.cursor.execute(sql, param)
self.db.commit()
except Exception as e:
raise e
# 获取数据库专利数量
def Count(self, sql):
try:
self.cursor.execute(sql)
c = self.cursor.fetchall()
return c
except Exception as e:
raise e
# 用析构函数实现数据库关闭
def __del__(self):
# 关闭数据库连接
self.db.close()
self.cursor.close()