0

データ アーカイブ アプリケーションを作成しようとしています。ユーザーに質問フォームを表示する GUI (PyQT Designer) があります。13の質問があり、答えはイエスかノーです。そして、それらには13の説明があります。データベースにテーブルを作成します。29 列あります。最初の列は日付で、主キーです。まずは今までのTEXT形式と解説をしてみました。私は VARCHAR(5) に yes と no を与えました。しかし、これと同じエラーで機能しませんでした:

ここに私が与えた最初のエラーがあります、

このソリューションを次のようにコードに適用しました。

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

前もって感謝します。

4

1 に答える 1

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)
于 2013-07-18T10:03:04.860 に答える