猿问

在Python中,如何定义一个将函数的参数插入到数据库表中的函数?

我想定义一个函数(名为“kayitEkle”),它将函数的参数插入到数据库中的表(名为“biTablo”)中:


import sqlite3


connect = sqlite3.connect("obs.db")

cursor = connect.cursor()


def tabloOlustur():

    cursor.execute("CREATE TABLE IF NOT EXISTS biTablo(ad TEXT, soyad TEXT, numara TEXT, puan REAL)")

    connect.commit()



tabloOlustur()


def kayitEkle(ad, soyad, numara, puan):

    cursor.execute("INSERT INTO biTablo(ad, soyad, numara, puan) VALUES(? ? ? ?)",(ad,soyad,numara,puan))

    connect.commit()


kayitEkle('ahmet', 'yılmaz', '08067', 50)

但我收到这条消息:


Traceback (most recent call last):

 File "C:/Users/pc/PycharmProjects/ikinciBahar/ogrenmeDatabase.py", line 234, in <module>

   kayitEkle('ahmet', 'yılmaz', '08067', 50)

 File "C:/Users/pc/PycharmProjects/ikinciBahar/ogrenmeDatabase.py", line 231, in kayitEkle

   cursor.execute("INSERT INTO biTablo(ad, soyad, numara, puan) VALUES(? ? ? ?)",(ad,soyad,numara,puan))

sqlite3.OperationalError: near "?": syntax error

怎么了?我应该怎么办?


阿晨1998
浏览 259回答 3
3回答

胡说叔叔

您可能应该使用 python.format并从&nbsp;&nbsp;&nbsp;cursor.execute("INSERT&nbsp;INTO&nbsp;biTablo(ad,&nbsp;soyad,&nbsp;numara,&nbsp;puan)&nbsp;VALUES(?&nbsp;?&nbsp;?&nbsp;?)",(ad,soyad,numara,puan))到&nbsp;&nbsp;&nbsp;cursor.execute("INSERT&nbsp;INTO&nbsp;biTablo(ad,&nbsp;soyad,&nbsp;numara,&nbsp;puan)&nbsp;VALUES({},{},{},{})".format(ad,soyad,numara,puan))

跃然一笑

在您的cursor.execute使用中VALUES(%s, %s, %s, %s)
随时随地看视频慕课网APP

相关分类

Python
我要回答