質問編集履歴

2

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

2020/02/13 09:49

投稿

JinGoda
JinGoda

スコア20

test CHANGED
File without changes
test CHANGED
@@ -227,3 +227,107 @@
227
227
 
228
228
 
229
229
  SELECT文周辺の位置を変えるといったことを試しましたが、できませんでした。
230
+
231
+
232
+
233
+ 追記:以下のコードに変更した場合に、数値は出力され、main.aname.get()をエントリーの変更で反映されましたが、self.a, self.c, self.sの三つについては初期値のまま出力されました。
234
+
235
+
236
+
237
+ ```Python
238
+
239
+ import tkinter as tk
240
+
241
+ import sqlite3 as sql
242
+
243
+ import tkinter.ttk as ttk
244
+
245
+
246
+
247
+ import main
248
+
249
+
250
+
251
+ main
252
+
253
+
254
+
255
+ dbpath = "dex.sqlite3"
256
+
257
+ conn = sql.connect(dbpath)
258
+
259
+ cur = conn.cursor()
260
+
261
+
262
+
263
+ cur.execute("SELECT A FROM dex WHERE name = '%s'" % main.aname.get())
264
+
265
+ A = cur.fetchone()
266
+
267
+ cur.execute("SELECT C FROM dex WHERE name = '%s'" % main.aname.get())
268
+
269
+ C = cur.fetchone()
270
+
271
+ cur.execute("SELECT S FROM dex WHERE name = '%s'" % main.aname.get())
272
+
273
+ S = cur.fetchone()
274
+
275
+
276
+
277
+
278
+
279
+ class AttackDatabase():
280
+
281
+
282
+
283
+ def __init__(self, name, a, c, s):
284
+
285
+
286
+
287
+ self.name = name
288
+
289
+ self.a = a
290
+
291
+ self.c = c
292
+
293
+ self.s = s
294
+
295
+
296
+
297
+ def get_info(self):
298
+
299
+
300
+
301
+ print(self.name.get())
302
+
303
+ print(self.a)
304
+
305
+ print(self.c)
306
+
307
+ print(self.s)
308
+
309
+
310
+
311
+ ad = AttackDatabase(main.aname, A, C, S)
312
+
313
+
314
+
315
+ button = tk.Button(main.win, text = 'print', command = ad.get_info)
316
+
317
+ button.pack()
318
+
319
+
320
+
321
+ main.win.mainloop()
322
+
323
+
324
+
325
+ if __name__ == "__main__":
326
+
327
+
328
+
329
+ main
330
+
331
+ main.win.mainloop()
332
+
333
+ ```

1

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

2020/02/13 09:49

投稿

JinGoda
JinGoda

スコア20

test CHANGED
@@ -1 +1 @@
1
- 【Python, SQLite3】cursor.execute()で取得した値をクラスの項への代入わかりません
1
+ 【Python, SQLite3】cursor.execute()で取得した値が、エントリー変更した際に結果変化しません
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- 下記ソースのうち、A, C, Sの三つの変数をAttackDatabaseクラスのa, c, sにたいと思っていすが、できません。
15
+ 下記ソースのうち、main.aname.get()で取得したエントリーの値に対応するA, C, Sの値がprint(self.a), print(self.c), print(self.s)で出力された際反映されません。
16
16
 
17
17
 
18
18