前提
Python SQLiteのテーブルのレコードに値を追加したいのですが
↓のコードではstr_aが1文字だけの場合は登録できるのですが、2文字以上の場合だとエラーになり登録できません。
構成としてはテーブル「test_tb」にカラムは一つだけです。
実現したいこと
レコードに複数の文字を登録したい
発生している問題・エラーメッセージ
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied
該当のソースコード
Python
1 2import sqlite3 3import tkinter as tk 4 5def kansu(): 6 str_a = txt.get() 7 db = 'text.db' 8 conn = sqlite3.connect(db) 9 cur = conn.cursor() 10 11 cur.execute("INSERT INTO test_tb VALUES(?)", str_a) 12 conn.commit() 13 conn.close() 14 15root = tk.Tk() 16root.title("test") 17root.geometry("600x400") 18 19txt = tk.Entry(root) 20txt.pack() 21 22btn = tk.Button(root,text="登録",command=kansu) 23btn.pack() 24 25root.mainloop() 26 27 28 29 30### 試したこと 31cur.executemanyで登録すると、1文字ずつ分割されて、1文字1レコードで登録されてしまします。 32 33### 補足情報(FW/ツールのバージョンなど) 34Python 3.10
回答2件
あなたの回答
tips
プレビュー