teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コードの編集を「試したこと」に追加しました

2020/02/13 09:49

投稿

JinGoda
JinGoda

スコア20

title CHANGED
File without changes
body CHANGED
@@ -112,4 +112,56 @@
112
112
 
113
113
  ### 試したこと
114
114
 
115
- SELECT文周辺の位置を変えるといったことを試しましたが、できませんでした。
115
+ SELECT文周辺の位置を変えるといったことを試しましたが、できませんでした。
116
+
117
+ 追記:以下のコードに変更した場合に、数値は出力され、main.aname.get()をエントリーの変更で反映されましたが、self.a, self.c, self.sの三つについては初期値のまま出力されました。
118
+
119
+ ```Python
120
+ import tkinter as tk
121
+ import sqlite3 as sql
122
+ import tkinter.ttk as ttk
123
+
124
+ import main
125
+
126
+ main
127
+
128
+ dbpath = "dex.sqlite3"
129
+ conn = sql.connect(dbpath)
130
+ cur = conn.cursor()
131
+
132
+ cur.execute("SELECT A FROM dex WHERE name = '%s'" % main.aname.get())
133
+ A = cur.fetchone()
134
+ cur.execute("SELECT C FROM dex WHERE name = '%s'" % main.aname.get())
135
+ C = cur.fetchone()
136
+ cur.execute("SELECT S FROM dex WHERE name = '%s'" % main.aname.get())
137
+ S = cur.fetchone()
138
+
139
+
140
+ class AttackDatabase():
141
+
142
+ def __init__(self, name, a, c, s):
143
+
144
+ self.name = name
145
+ self.a = a
146
+ self.c = c
147
+ self.s = s
148
+
149
+ def get_info(self):
150
+
151
+ print(self.name.get())
152
+ print(self.a)
153
+ print(self.c)
154
+ print(self.s)
155
+
156
+ ad = AttackDatabase(main.aname, A, C, S)
157
+
158
+ button = tk.Button(main.win, text = 'print', command = ad.get_info)
159
+ button.pack()
160
+
161
+ main.win.mainloop()
162
+
163
+ if __name__ == "__main__":
164
+
165
+ main
166
+ main.win.mainloop()
167
+ ```

1

タイトルおよび発生している問題をよりわかりやすく変更しました

2020/02/13 09:49

投稿

JinGoda
JinGoda

スコア20

title CHANGED
@@ -1,1 +1,1 @@
1
- 【Python, SQLite3】cursor.execute()で取得した値をクラスの項への代入わかりません
1
+ 【Python, SQLite3】cursor.execute()で取得した値が、エントリー変更した際に結果変化しません
body CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
- 下記ソースのうち、A, C, Sの三つの変数をAttackDatabaseクラスのa, c, sに入れたいと思っていすが、できません。
8
+ 下記ソースのうち、main.aname.get()で取得したエントリーの値に対応するA, C, Sの値がprint(self.a), print(self.c), print(self.s)で出力された際に反映されません。
9
9
 
10
10
  ### 該当のソースコード
11
11