加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
location.py 2.52 KB
一键复制 编辑 原始数据 按行查看 历史
from sqlconnection import SqlCon
import numpy as np
class Location:
"""
地点的类,其基本属性包括:
loc_id(地点id,整数,数据库作为主键,自动增加,不为空)
loc_name(地点的名称,文本,不为空, 不重复)
loc_status(地点的状态,文本,只有“有效”和“无效”两种状态)
"""
_loc_sql_table = 'location'
def __init__(self, **kwargs):
self.loc_id = None
self.loc_name = None
self.loc_status = None
for key, value in kwargs.items():
setattr(self, key, value)
def loc_register(self):
"""
创建新的地址
:return:
"""
self.loc_status = '有效'
if self.loc_name and not self.loc_id:
sql = "INSERT INTO {} (loc_name, loc_status) VALUES ('{}', '{}')"\
.format(Location._loc_sql_table, self.loc_name, self.loc_status)
sql_con = SqlCon()
sql_con.db_cursor.execute(sql)
sql_con.db_con.commit()
else:
raise Exception('地址名为空或者指定了loc_id!')
def loc_update(self):
"""
更新地点数据
:return:
"""
sql = "UPDATE {} SET loc_name='{}', loc_status='{}' WHERE loc_id={}"\
.format(Location._loc_sql_table, self.loc_name, self.loc_status, self.loc_id)
sql_con = SqlCon()
sql_con.db_cursor.execute(sql)
sql_con.db_con.commit()
def loc_match(self):
"""
通过地址的loc_id搜索胶料名称
:return: 胶料名称
"""
sql = "SELECT loc_name FROM {} WHERE loc_id={}".format(Location._loc_sql_table, self.loc_id)
sql_con = SqlCon()
sql_con.db_cursor.execute(sql)
return sql_con.db_cursor.fetchone()
@staticmethod
def loc_active():
"""
从location表单中返回所有“有效”状态的地址
:return: ([loc_id, location], ...)
"""
sql = "SELECT loc_id, loc_name FROM location WHERE loc_status='有效'"
sql_con = SqlCon()
sql_con.db_cursor.execute(sql)
return np.array(sql_con.db_cursor.fetchall())
@staticmethod
def loc_all():
"""
从location表单中返回所有地址
:return: 列依次为loc_id, loc_name, loc_status的数组
"""
sql = "SELECT loc_id, loc_name, loc_status FROM location"
sql_con = SqlCon()
sql_con.db_cursor.execute(sql)
return np.array(sql_con.db_cursor.fetchall())
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化