我正在尝试编写数据存档应用程序。我有一个GUI(PyQT Designer)向用户显示问题表单。有13个问题和答案是肯定还是否定。对他们有13个解释。我在数据库中创建了一个表,它有29列。第一列是日期,它是主键。首先,我尝试了TEXT格式的日期和解释。我给了VARCHAR(5)是和不是。但它没有与此相同的错误:
Here is the first error I gave,
我将这个解决方案应用到我的代码中:
isaretci.execute('INSERT INTO onceKontrol (tarih, cvp1, aciklama1, cvp2, \
aciklama2, cvp3, aciklama3, cvp4, \
aciklama4, cvp5, aciklama5, cvp6, \
aciklama6, cvp7, aciklama7, cvp8, \
aciklama8, cvp9, aciklama9, cvp10, \
aciklama10, cvp11, aciklama11, cvp12, \
aciklama12, cvp13, aciklama13) VALUES \
({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},\
{11},{12},{13},{14},{15},{16},{17},{18},{19},\
{20},{21},{22},{23},{24},{25},{26}'\
.format (self.once[0], self.once[1], self.once[2], \
self.once[3], self.once[4], self.once[5], \
self.once[6], self.once[7], self.once[8], \
self.once[9], self.once[10], self.once[11], \
self.once[12], self.once[13], self.once[14], \
self.once[15], self.once[16], self.once[17], \
self.once[18], self.once[19], self.once[20], \
self.once[21], self.once[22], self.once[23], \
self.once[24], self.once[25], self.once[26]) )
tarih表示日期,cvp[i]
表示答案,aciklama[i]
表示解释。现在它给了我这个错误:
self.once[24], self.once[25], self.once[26],) )
sqlite3.OperationalError: near ",": syntax error
提前感谢。
答案 0 :(得分:0)
你错过了一个结束的括号
Insert语句必须与INSERT INTO table (header,...) VALUES (val,...)
( {0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},\
{11},{12},{13},{14},{15},{16},{17},{18},{19},\
{20},{21},{22},{23},{24},{25},{26} )' #added here
您还应该使用安全方法
.execute("INSERT ... VALUES (%s)" % ("?"*len(self.once)),self.ounce)