这次的报错信息是:
Traceback (most recent call last):
File "nb.py", line 47, in
cursor.execute(sql, (istr1,istr2))
sqlite3.OperationalError: near ",": syntax error
放代码:
# coding=utf-8
import sqlite3 as s
gnlb=['1','2','3','4','5']
istr1=''
istr2=''
while True:
gn=input('功能:')
if gn in gnlb:
break
print('没有这个功能,请重新输入。')
try:
con=s.connect('hey.db')
cursor=con.cursor()
if gn=='1':
sql = 'SELECT id_1, id_2 FROM Hello_world'
cursor.execute(sql)
result_set=cursor.fetchall()
for row in result_set:
print('ID1:{0},ID2:{1}'.format(row[0],row[1]))
elif gn=='2':
istr1=input()
istr2=input()
sql='INSERT INTO Hello_world (id_1, id_2) VALUES (?, ?)'
cursor.execute(sql, (istr1, istr2))
con.commit()
print('成功')
elif gn=='3':
istr1=input()
sql='SELECT id_1, id_2 FROM Hello_world WHERE id_1 = ?'
cursor.execute(sql, (istr1,))
result_set = cursor.fetchall()
for row in result_set:
print('ID1:{0},ID2:{1}'.format(row[0],row[1]))
elif gn=='4':
istr1=input()
sql = 'DELETE FROM Hello_world WHERE id_1 = ?'
cursor.execute(sql, (istr1,))
con.commit()
print('成功')
elif gn=='5':
istr1=input()
istr2=input()
n_istr1=input()
n_istr2=input()
sql = 'UPDATE Hello_world SET id_1=?, id_2=? WHERE id_1=?, id_2=?'
cursor.execute(sql, (n_istr1,n_istr2,istr1,istr2))
con.commit()
except s.Error as e:
print('报错:{}'.format(e))
if not gn=='1':
con.rollback()
except:
print('失败')
finally:
if cursor:
cursor.close()
if con:
con.close()
求解!