#coding=utf-8
import time
import sqlite3
import sys
reload (sys)
sys.setdefaultencoding('utf8')
def GetMaxID(tableName):
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''SELECT MAX(ID) AS MAXID FROM ''' + tableName
cursor = c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData[0][0])
conn.commit()
conn.close()
if retData[0][0] is None:
return 0
return retData[0][0]
def AddMenu(menuName, wFactor):
print ('enter AddMenu...')
maxId = GetMaxID('ALL_MENU')
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''INSERT INTO ALL_MENU(ID, NAME, WFACTOR) VALUES(?, ?, ?)'''
v = (maxId + 1, menuName, wFactor)
c.execute(strSql, v)
conn.commit()
conn.close()
def DelMenu(id):
conn = sqlite3.connect('antony.db')
c = conn.cursor()
if id > 0:
strSql = '''DELETE FROM ALL_MENU WHERE ID = ''' + str(id)
else:
strSql = '''DELETE FROM ALL_MENU'''
c.execute(strSql)
conn.commit()
conn.close()
def ModifyMenu(id, menuName, wFactor):
print ('enter AddMenu...')
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''UPDATE ALL_MENU SET NAME = ?, WFACTOR = ? WHERE ID = ?'''
v = (menuName, wFactor, id)
c.execute(strSql, v)
conn.commit()
conn.close()
def GetAllMenu():
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''SELECT * FROM ALL_MENU'''
c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData)
conn.commit()
conn.close()
return retData
def GetLunchResult(num):
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''SELECT * FROM LUNCH_RESULT ORDER BY ID DESC LIMIT ''' + str(num)
c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData)
conn.commit()
conn.close()
return retData
def AddLunchResult(menuName, aaMode, Date):
maxId = GetMaxID('LUNCH_RESULT')
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''INSERT INTO LUNCH_RESULT(ID, MENU, AAMODE, DATE) VALUES(?, ?, ?, ?)'''
v = (maxId + 1, menuName, aaMode, Date)
c.execute(strSql, v)
conn.commit()
conn.close()
def DelAllLunchResult():
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''DELETE FROM LUNCH_RESULT'''
c.execute(strSql)
conn.commit()
conn.close()
def GetAllUser():
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''SELECT * FROM USER'''
c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData)
conn.commit()
conn.close()
return retData
def AddUser(name, wFactor):
maxId = GetMaxID('USER')
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''INSERT INTO USER(ID, NAME, WFACTOR) VALUES(?, ?, ?)'''
v = (maxId + 1, name, wFactor)
c.execute(strSql, v)
conn.commit()
conn.close()
def DelAllUsers():
conn = sqlite3.connect('antony.db')
c = conn.cursor()
strSql = '''DELETE FROM USER'''
c.execute(strSql)
conn.commit()
conn.close()
conn = sqlite3.connect('antony.db')
print ('Opened database successfully')
c = conn.cursor()
strCreateTable = '''CREATE TABLE ALL_MENU
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
WFACTOR INT NOT NULL);'''
#c.execute(strCreateTable)
print ('Table created successfully')
strCreateTable = '''CREATE TABLE LUNCH_RESULT
(ID INT PRIMARY KEY NOT NULL,
MENU TEXT NOT NULL,
AAMODE TEXT NOT NULL,
DATE TEXT NOT NULL);'''
#c.execute(strCreateTable)
print ('Table created successfully')
strCreateTable = '''CREATE TABLE USER
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
WFACTOR INT NOT NULL);'''
#c.execute(strCreateTable)
print ('Table created successfully')
# insert
strSqlInsertTable = '''INSERT INTO ALL_MENU(ID, NAME, WFACTOR) VALUES(?, ?, ?)'''
v = (1, u'海大', 10)
#c.execute(strSqlInsertTable, v)
v = (2, u'科大', 10)
#c.execute(strSqlInsertTable, v)
v = (3, u'利群', 10)
#c.execute(strSqlInsertTable, v)
v = (4, u'兰拉', 10)
#c.execute(strSqlInsertTable, v)
v = (5, u'大盆骨', 10)
#c.execute(strSqlInsertTable, v)
# select
strSqlSelect = '''SELECT ID, NAME, WFACTOR FROM ALL_MENU;'''
cursor = c.execute(strSqlSelect)
print(cursor)
retData = c.fetchall()
print (len(retData))
print (retData)
# delete
strSqlDelete = '''DELETE FROM ALL_MENU'''
#cursor = c.execute(strSqlDelete)
print(cursor)
'''
AddMenu(u'哈哈', 2)
GetAllMenu()
DelMenu(6)
GetAllMenu()
ModifyMenu(1, u'哈哈哈', 12)
GetAllMenu()
'''
'''
DelMenu(-1)
GetAllMenu()
'''
'''
AddMenu(u'海大', 10)
AddMenu(u'科大', 10)
AddMenu(u'利群', 10)
AddMenu(u'兰拉', 10)
AddMenu(u'大盆骨', 10)
GetAllMenu()
'''
DelAllLunchResult()
#GetAllMenu()
'''
todayDate = time.strftime('%Y-%m-%d',time.localtime(time.time()))
AddLunchResult(u'', 'AA', todayDate)
'''
GetLunchResult(5)
'''
AddUser(u'刘=', 1)
AddUser(u'张大', 1)
AddUser(u'郭6', 1)
AddUser(u'姜18', 1)
AddUser(u'AA', 100)
GetAllUser()
'''
#DelAllUsers()
#batch insert
#only a example
strSqlInsertTable = '''INSERT INTO ALL_MENU(ID, NAME, WFACTOR) VALUES(?, ?, ?)'''
#v = [(1, u'AAAAAAA', 10)]
insertData = []
for i in range(1000):
insertData.append((i+100, 'AAAAAAAA', 1000))
#c.executemany(strSqlInsertTable, insertData)
#end of batch insert
conn.commit()
conn.close()