import tkinter as tk
import pymssql
yonghuming = ‘’
window1 = tk.Tk() #登录窗口
label1 = tk.Label(window1,text = “用户名”) #登录窗口中的用户名标签
label2 = tk.Label(window1,text = “密码”) #登录窗口中的密码标签
entry1 = tk.Entry(window1) #登录窗口中用户名输入框
entry2 = tk.Entry(window1,show = ‘*’)#登录窗口中密码输入框
var1 = tk.StringVar()
var1.set("")
var2 = tk.StringVar()
var2.set("")
uiderrorlabel = tk.Label(window1,textvariable = var1)#登录窗口中用户名正确或错误提示标签
ucodeerrorlabel = tk.Label(window1,textvariable = var2)#登录窗口中密码正确或错误提示标签
shangpinlock = 0 #用于验证,登录成功时该值为一,此时允许打开商品窗口
gname = “” #搜索框内输入的商品名称,此处用于初始化便于不同函数使用
def goods():
window3 = tk.Tk()
conn = pymssql.connect(“DESKTOP-IITTFHC”,“dba”,“abcd”,charset = “cp936”)
cursor = conn.cursor()
sql0 = “if(object_id(‘view_goods’,‘view’)is not null) drop view view_goods”
sql1 = “create view view_goods as select * from goods where gname like ‘%{}%’”.format(gname)
print(sql1)
cursor.execute(sql0)
cursor.execute(sql1)
conn.commit()
sql11 = “select * from view_goods”
cursor.execute(sql11)
row = cursor.fetchall() #获取搜索的商品名相匹配的所有商品的信息列表
midvar = [] #用来完成购物按键,存放按键函数
midvar2 = [] #用来完成确认加入购物车按键,存放案件函数
if row:
def offerplus():
try:
buyorcolnum = buyorcolentry.get()
buyorcolnum = int(buyorcolnum)
conn2 = pymssql.connect(“DESKTOP-IITTFHC”,“dba2”,“dba2”,charset = “cp936”)
cursor2 = conn2.cursor()
sql2 = “select sold from goods where gnumber = {}”.format(str(row[buyorcolnum-1][0]))
cursor2.execute(sql2)#a
oldoffer = cursor2.fetchall()
sql3 = “update goods set sold = 1+{} where gnumber = {}”.
format(oldoffer[0][0],str(row[buyorcolnum-1][0]))
print(sql3)
cursor2.execute(sql3)#a
conn2.commit()
label = tk.Label(window3,text = “购买成功”)
label.pack()
sqln = “select onumber from orderr”
cursor2.execute(sqln)
roworderforinsert = cursor2.fetchall() #用于生成新的订单编号而获取的订单编号列表
newonumber = roworderforinsert[len(roworderforinsert)-1][0] + 1
sqlgetunum = “select unumber from userr where uID = ‘{}’”.format(str(yonghuming))
cursor2.execute(sqlgetunum)
ordunumber = cursor2.fetchall()
ordunumber = ordunumber[0][0]
buy = “buy”
sqll4 = “insert into orderr values({},’{}’,{},’{}’,{},’{}’)”.format(str(newonumber),str(row[buyorcolnum-1][1]),str(row[buyorcolnum-1][2]),str(buy),str(ordunumber),str(yonghuming))
cursor2.execute(sqll4)
conn2.commit()
cursor2.close()
conn2.close()
except:
error = tk.Label(window3,text = “购买失败!”)
error.pack()
def insertcollection():
buyorcolnum = buyorcolentry.get()
buyorcolnum = int(buyorcolnum)
col = tk.Tk() #col为提示加入购物车的商品数目的窗口
labelcol = tk.Label(col,text = “请输入想要加入购物车的商品数目”)
labelcol.pack()
entrycol = tk.Entry(col)
entrycol.pack()
colnumber = ‘’
def querencol():
try:
colnumber = entrycol.get() #用户输入的加入购物车的商品数目
conn2 = pymssql.connect(“DESKTOP-IITTFHC”,“dba2”,“dba2”,charset = “cp936”)
cursor2 = conn2.cursor()
sqln = “select cnumber from collection”
cursor2.execute(sqln)
rowcol = cursor2.fetchall() #用于生成新的购物车编号而获取的购物车编号列表
newcnumber = rowcol[len(rowcol)-1][0] + 1
sqlgetunum = “select unumber from userr where uID = ‘{}’”.format(str(yonghuming))
cursor2.execute(sqlgetunum)
colunumber = cursor2.fetchall()
colunumber = colunumber[0][0]
sql3 = “insert into collection values ({},’{}’,{},{},{},{},’{}’)”.
format(str(newcnumber),str(row[buyorcolnum-1][1]),str(row[buyorcolnum-1][2]),str(colnumber),str(colunumber),str(row[i][0]),str(yonghuming))
print(sql3)
cursor2.execute(sql3)
conn2.commit()
cursor2.close()
conn2.close()
col.destroy()
querencoltip = tk.Label(window3,text = “加入购物车成功”)
querencoltip.pack()
except:
errorqueren