第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Sqlite3 表 users 有 7 列,但提供了 6 個值

Sqlite3 表 users 有 7 列,但提供了 6 個值

12345678_0001 2023-06-27 13:47:46
請我是 python 和 sqlite3 的新手,我試圖找到注冊表單無法提交的可能原因,它一直給我一個錯誤。并且提供的值不斷倒計時c.execute("INSERT INTO users VALUES (?, ?, ?, ?, ?, ?)", (element)) sqlite3.OperationalError:表 users 有 7 列,但提供了 6 個值  # Importing Tkinter framework            fr        om tkinter import *        from tkinter import ttk        # Import sqlite3        import sqlite3                        def setup_db():            # Open db            global conn            conn = sqlite3.connect('shengen.db')            # Create a cursor            global c            c = conn.cursor()                    # Create the table if it doesn't exist            try:                c.execute("""CREATE TABLE if not exists users(                    ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,                    fname TEXT NOT NULL,                    email TEXT NOT NULL,                    password TEXT NOT NULL,                    cPassword TEXT NOT NULL,                    sex INTEGER NOT NULL,                    country TEXT NOT NULL                    );""")                        conn.commit()                    except sqlite3.OperationalError:                print("ERROR: Table not Created")                        def reg_submit():            # Insert record into the db            new_user = [fname.get(), email.get(), password.get(),                        cPassword.get(), sex.get(), country.get()]                    for element in new_user:                c.execute("INSERT INTO users VALUES (?, ?, ?, ?, ?, ?)", (element))                    conn.commit()            c.close()            conn.close()                        def register():            root1 = Toplevel(root)            root1.geometry("900x700")            root1.title("Registration Page")            root1.iconbitmap("")                    global fname            global email            global password            global cPassword            global sex            global sex1            global country
查看完整描述

3 回答

?
斯蒂芬大帝

TA貢獻1827條經(jīng)驗 獲得超8個贊

我實際上認為不要循環(huán)遍歷列表,只需執(zhí)行以下操作:

values = fname.get(), email.get(), password.get(),cPassword.get(), sex.get(), country.get()
c.execute("INSERT INTO users(fname,email,password,cPassword,sex,country) VALUES (?, ?, ?, ?, ?, ?)", values)
c.execute('commit')

我在這里所做的只是指定要插入哪一列,而您的表有 7 列(包括 )但只給出了 6 個值這一事實oid可能就是問題所在。我沒有循環(huán),因為我相信 @balderman 說這個問題被調(diào)用了INSERT6 次。

讓我知道這是否修復了錯誤


查看完整回答
反對 回復 2023-06-27
?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

下面的循環(huán)是錯誤的 - 在此循環(huán)中您調(diào)用了 INSERT 6 次。

每次使用 1 個字符串(姓名、電子郵件、..)。

您需要調(diào)用一次 INSERT 并用作new_user第二個參數(shù)c.execute

new_user = [fname.get(), email.get(), password.get(),
                        cPassword.get(), sex.get(), country.get()]        
for element in new_user:
     c.execute("INSERT INTO users VALUES (?, ?, ?, ?, ?, ?)", (element))


查看完整回答
反對 回復 2023-06-27
?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

如果您不提供所有列(此處不提供 ID),則應在值之前指定列名稱:

INSERT INTO users (column1,column2 ,..) VALUES( value1, value2 ,...);


查看完整回答
反對 回復 2023-06-27
  • 3 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號