前提・実現したいこと
初質問です
勉強を始めたばかり初心者なのですがGUI上のエントリーボックスから入力したsqliteのIDからDBの行の削除ができるようにしたいのですがsqliteでそういったこと可能でしょうか
使用言語はpython3です
GUIはtkinterです
発生している問題・エラーメッセージ
### #削除ボタンが押された時の関数 def delete_sql(acc_data): try: c = sqlite3.connect("database.db") except: print('エラーコネクト') # SQLを発行してDBへ登録 try: c.execute(""" DELETE FROM acc_data WHERE id IN (30, 31); """) c.execute("COMMIT;") print("削除しました") # 削除できなかった場合のエラー処理 except: print("エラー削除") #エントリーボックス frame1 = tk.Frame(root,pady=10) frame1.pack() label2 = tk.Label(frame1,font=("",14),text="削除") label2.pack(side="left") entry1 = tk.Entry(frame1,font=("",14),justify="center",width=15) entry1.pack(side="left") # 削除ボタンの設定 try: button4 = tk.Button(root,text="削除", font=("",16), width=10,bg="gray", command=lambda:delete_sql(entry1.get())) except: print('エラー削除ボタン')
試したこと
上のコードですと入力に関係なく30、31が消されますがGUI上の入力ボックスで指定したIDを削除したいです
a = ~ として
WHERE id=('a')にしてみるなど試してみましたができませんでした
そもそもpythonで定義したものがSQLの文内で使えるのかも教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/14 02:08