如何修复ValueError:参数的类型不受支持python

时间:2019-02-10 15:56:24

标签: python sql sqlite parameterized-query

我正在尝试参数化我的查询,以便能够在整个世界中添加带有'的标题,例如“无法登录”。我做了一些阅读,意识到我必须参数化我的查询。到目前为止,我之前的查询如下:

def create_issue(self, title, description):
        cursor = self._conn.cursor()
        try:
            cursor.execute(
                """INSERT INTO issues(
                    title,
                    description
                ) VALUES('{}', '{}')""".format(title, description))
            cursor.execute("select last_insert_rowid()")
            return cursor.fetchone()[0]
        finally:
            cursor.close()

我已经尝试对这个查询进行参数化处理,以便它接受'作为字符串的一部分,而不抛出OperationalError。我在下面尝试了以下方法:

def create_issue(self, title, description):
        cursor = self._conn.cursor()
        try:


            cursor.execute("INSERT INTO issues (title, description) VALUES (?,?)", {title, description})
            cursor.execute("select last_insert_rowid()")
            return cursor.fetchone()[0]
        finally:
            cursor.close()

我收到以下错误:

  

cursor.execute(“插入问题(标题,描述)的值   (?,?)“,{标题,​​说明})ValueError:参数为   不支持的类型

我做错了什么,如何使我的查询正常工作

My table properties are as follows:
CREATE TABLE issues(
  id INTEGER PRIMARY KEY,
  title VARCHAR(255),
  description VARCHAR(255),
  opened_datetime CHAR(26) DEFAULT (datetime('now')),
  closed_datetime CHAR(26) DEFAULT (datetime('now'))
)

我在文本框标题中传递了以下输入“无法登录” 在描述中,我输入了以下输入“ User dev无法登录”

0 个答案:

没有答案