You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import pymysql
import logging
def AddCard(conn,CardNum,Name,Dept,Type,flag):
#既可以增加借书证,也可以修改原借书证信息
#具体可以参考图书入库部分
#flag=0代表增加flag=1代表修改
#修改功能是为了考虑到可能会更改单位之类的(比如转专业?)
if CardNum=="" or Name=="" or Dept=="" or Type=="":
return "不能有空项"
try:
cursor=conn.cursor()
sql="select * from card where cnum=%s"
cursor.execute(sql,CardNum)
result=cursor.fetchone()
#首先排除两个特殊情况:增加一个已经存在的证,或者是修改一个不存在的证
if result is None :
if flag==1:
return "借书证不存在,修改失败"
elif flag==0:
return "此借书证已存在,增加失败"
if flag==0:
sql="insert into card values(%s,%s,%s,%s,0)"
cursor.execute(sql,(CardNum,Name,Dept,Type))
conn.commit()
return 1
else:
sql="update card set name=%s,department=%s,type=%s where cnum=%s"
cursor.execute(sql,(Name,Dept,Type,CardNum))
conn.commit()
return 2
except Exception as e:
conn.rollback()
return e
def DeleteCard(conn,CardNum):
if CardNum=="":
return "卡号不能为空"
try:
cursor=conn.cursor()
sql="select * from card where cnum=%s"
cursor.execute(sql,CardNum)
result=cursor.fetchone()
if result is None:
return "借书证不存在"
sql="delete from card where cnum=%s"
cursor.execute(sql,CardNum)
conn.commit()
return 1
except Exception as e:
conn.rollback()
return e