Запрос базы данных sqlite3 в python - PullRequest
0 голосов
/ 08 октября 2018

Я попытался выполнить поисковый запрос из серверной части приложения, в котором я работаю, и получил следующий ответ:

Traceback (последний вызов был последним): файл "backend.py",строка 30, в поиске cur.execute («SELECT * FROM PlanInfo WHERE Location =?», self.NmRqst.text) ValueError: параметры неподдерживаемого типа

У меня есть код ниже:

def connectfile(self):
    conn = sqlite3.connect("TestTrace.db")
    cur = conn.cursor()
    cur.execute(
        "CREATE TABLE IF NOT EXISTS PlanInfo (Plan Number TEXT, Tracing Number TEXT, Submitted By TEXT, "
        "Location TEXT)")
    conn.commit()
    conn.close()

def search(self):
    conn = sqlite3.connect("TestTrace.db")
    cur = conn.cursor()
    cur.execute("SELECT * FROM PlanInfo WHERE Location=?", self.NmRqst.text)
    rows = cur.fetchall()
    conn.close()
    return rows

self.NmRqst.text - это QLineEdit, принимающий пользовательский ввод для запроса к базе данных ...

Не стесняйтесь исправлять вопрос, как считаете нужным!

Я отредактировал строки кода,

def connectfile(self):
    conn = sqlite3.connect("TestTrace.db")
    cur = conn.cursor()
    cur.execute(
        "CREATE TABLE IF NOT EXISTS PlanInfo (Plan_Number TEXT, Tracing_Number TEXT, Submitted_by TEXT, "
        "Location TEXT)")
    conn.commit()
    conn.close()

def search(self):
    conn = sqlite3.connect("TestTrace.db")
    cur = conn.cursor()
    cur.execute("SELECT * FROM PlanInfo WHERE Location=?", str(self.NmRqst.text,))
    rows = cur.fetchall()
    conn.close()
    return rows

... и получил следующую ошибку:

Traceback (последний вызов был последним): File«backend.py», строка 30, в поиске cur.execute («SELECT * FROM PlanInfo WHERE Location =?», str (self.NmRqst.text,)) sqlite3.ProgrammingError: указано неверное количество привязок.В текущем операторе используется 1, а поставлено 64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...