你随便代入几个值试试不就知道了
第一个格子里放1粒,是2^0
第二个格子里放2粒,是2^1
第三个格子里放4粒,是2^2
第四个格子里放8粒,是2^3
你换成0^2,1^2,2^2,3^2,看看还是对的吗
不一样,你两个都输出看看
数据库的功能类主要包含了五个方法:数据库连接以及对数据库的增删改查。
首先是数据库的连接:
def connect(self):
#连接到数据库,获取数据库对象,四个参数:数据库服务器、用户名、用户密码、所要链接的数据库名(这里需要提前创建好Goods这个数据库)
database = pymssql.connect("localhost", "sa", "293572605", "Goods")
#尝试创建表,如果表已经存在会直接except,即pass
try:
cursor = database.cursor()
cursor.execute(
'create table goods(goodsID nvarchar(20) Primary key,platform nvarchar(10),title nvarchar(100),shop nvarchar(100),price float,sales nvarchar(10),href nvarchar(300))')
database.commit()
except:
pass
#连接成功则返回数据库对象,否则提示连接失败
if database:
return database
else:
print('连接数据库失败')
return
然后是对数据库的增删改查(这个比较好懂,就没加注释):
def save(self, goods):
database = self.connect()
cursor = database.cursor()
try:
cursor.execute('select * from goods where goods.goodsID = %s', (goods.getID()))
if cursor.fetchone():
print(goods.getID() + '已存在')
return 0
cursor.execute('insert into goods values(%s,%s,%s,%s,%d,%s,%s)',
(goods.getID(), goods.getPlatform(), goods.getTitle(), goods.getShop(), goods.getPrice(),
goods.getSales(), goods.getHref()))
database.commit()
database.close()
return 1
except:
database.rollback()
database.close()
return 0
def delete(self, goods):
try:
database = self.connect()
cursor = database.cursor()
cursor.execute('delete from goods where goods.goodsID = %s', (goods.getID()))
database.commit()
database.close()
print(goods.getID() + '已成功删除')
except:
print('不存在该对象')
def getInfo(self):
try:
info = []
database = self.connect()
cursor = database.cursor()
cursor.execute('select * from goods')
row = cursor.fetchone()
if row:
while row:
info.append(list(row))
row = cursor.fetchone()
else:
print('当前数据库中无数据')
return info
except:
print('获取信息失败')
return info
def update(self, goods):
database = self.connect()
cursor = database.cursor()
try:
cursor.execute('update goods set price = %d,sales = %s where goodsID = %s',
(goods.getPrice(), goods.getSales(), goods.getID()))
database.commit()
database.close()
print(goods.getID() + '已成功更新')
except:
database.rollback()
database.close()
print(goods.getID() + '更新失败')