Ошибка программирования: неверное количество подключений

Может ли кто-нибудь сказать мне, где я сделал ошибку?

мой код:

import csv import sqlite3 import os import subprocess import glob #Connect to database conn = sqlite3.connect("Mpeg_editor_Final.db") try: conn.execute("drop table Mpeg_editor_Final") conn.execute("drop table edited") conn.execute("drop table ffmpeg") except sqlite3.OperationalError, e: print e.message #CREATE table in databse conn.execute("PRAGMA foreign_keys = 1") conn.execute("CREATE TABLE Mpeg_editor_Final (fileName VARCHAR(120), fileType VARCHAR(120), fileFolder VARCHAR(120))") conn.execute("CREATE TABLE edited (fileName VARCHAR(120), fileType VARCHAR(120), fileFolder VARCHAR(120))") conn.execute("CREATE TABLE ffmpeg (fileName VARCHAR(120), fileType VARCHAR(120), fileFolder VARCHAR(120))") #mpegEditorFinal file location mpegEditorFinal = 'C:\Mpeg_editor_Final' #list all folders and file in Mpeg_editor_Final mpegEditorFinaldirs = os.listdir(mpegEditorFinal) # tell file's extensions for i in mpegEditorFinaldirs: mpegEditorFinalext = os.path.splitext(i) #find current path for x in mpegEditorFinaldirs: mpegEditorFinalpath = os.path.dirname(x) #To write information into the Mpeg_editor_final table conn.executemany("INSERT INTO Mpeg_editor_Final (fileName, fileType, fileFolder) VALUES (?,?,?);", [mpegEditorFinaldirs , mpegEditorFinalext , mpegEditorFinalpath,]) conn.commit() 

Сообщение об ошибке:

  Message File Name Line Position Traceback <module> C:\Mpeg_editor_Final\database.py 36 ProgrammingError: Incorrect number of bindings supplied. The current statement uses 3, and there are 16 supplied. 

2 Solutions collect form web for “Ошибка программирования: неверное количество подключений”

Вы использовали executemany() , но вы предоставляете только параметры для одного выполнения. Либо вложите их дальше, либо используйте execute() .

 conn.executemany("INSERT INTO Mpeg_editor_Final (fileName, fileType, fileFolder) VALUES (?,?,?);", [[mpegEditorFinaldirs, mpegEditorFinalext, mpegEditorFinalpath]]) conn.execute("INSERT INTO Mpeg_editor_Final (fileName, fileType, fileFolder) VALUES (?,?,?);", [mpegEditorFinaldirs, mpegEditorFinalext, mpegEditorFinalpath]) 

Его потому, что conn.execute требует два параметра. Здесь вы havnt предоставили точные параметры.

См. Здесь. Он решает вашу проблему.

  • Установите SQLAlchemy для использования PostgreSQL SERIAL для создания идентичности
  • Слияние баз данных SQLite сводит меня с ума. Помогите?
  • Слияние файлов SQLite в один файл db и вопрос «начало / фиксация»
  • База данных «на лету» со сценарием
  • python sqlite вставляет именованные параметры или null
  • Как читать datetime обратно из sqlite как datetime вместо строки в Python?
  • Python вставляет массив numpy в базу данных sqlite3
  • Python SQLite3 SQL Injection Vulnerable Code
  • Таблица базы данных Python Sqlite3 не обновляется
  • Python - sqlite3 не может выбрать сразу после update-commit - работает при повторной попытке
  • В модуле sqlite3 Python, почему не может cursor.rowcount () указать мне количество строк, возвращаемых оператором select
  • Python - лучший язык программирования в мире.