私は現在、ユーザからの入力をsqlite3データベースに取り込む日記と週計画者であるComputer Scienceコースワークをコーディングしています。検索されると、クエリに一致するすべてのレコードがGUI(Tkinter)に出力されます。 現在、すべての行を1行に出力しますが、1行出力してから次の行に転送します。 tkinter GUI内の別々の行にあるsqlite3クエリの結果を出力する方法
def searched():
Main_Screen.delete('1.0', END)
searched_for = search.get()
timeslot = cursor.execute('''SELECT * FROM dates WHERE Name = ?''',(searched_for,))
list1 = list(cursor.fetchall())
list1 = str(list1)
cursor.execute('''SELECT COUNT(*) FROM dates WHERE Name = ?''',(searched_for,))
result = cursor.fetchone()
conn.commit()
print(result)
str.replace(')','\n', END)
Main_Screen.insert(tkinter.END, list1)
は私がキーワード 'テスト' を使用してテストされ、そして私のGUIを介してこれを得た:私は間違っているつもりです
[('2017-06-06', 'test', '11:00:00', '12:00:00'), ('2017-06- 06', 'test', '10:00:00', '12:00:00'), ('2017-05-04', 'test', '11:00:00', '16:00:00'), ('2017-04-03', 'test', '11:00:00', '14:00:00')]
?
(広いコードを見ることなく、私はそれを確認することはできませんが)ウィジェットにあなたのデータベースを形成返却'for'ループで' list1'を通して?また、そのようなフォーマットはしないでください。これはSQLインジェクションが可能で、 ''' '' '' ''は本当に読みにくいです。 '、(searched_for、)) '。 – roganjosh
提案してくれてありがとう。私はかなりPythonとすべてのSQLのabitを教えなければならなかった。どのようにforループを使ってリストを反復するだろうか? – simons21
私はGUIに値を適切に渡すのに苦労しています。コードの最初のバッチデータ(日付、名前、開始時刻、終了時刻)を出力し、新しい行に移動して繰り返します。現時点では、すべてを1行に出力します。 – simons21