質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.92%

WXPythonでSQLiteのテーブルのレコードを表示したい

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,124
退会済みユーザー

退会済みユーザー

 前提・実現したいこと

SQLiteのDBの中に
Test_1_table
aita0,atai1,atai2,atai3
"ああ","いい","うう","ええ"
"aa","ii","uu","ee"
"aaa","iii","uuu","eee"
"あああ","いいい","ううう","えええ"
が入っており。
それらをすべてWXPythonのGUIで表示したいです。
Python初心者ですが、よろしくお願いいたします。

 発生している問題・エラーメッセージ

GUI上で
ああ,いい,うう,ええ
aa,ii,uu,ee
aaa,iii,uuu,eee
あああ,いいい,ううう,えええ
と表示してほしいのですが実際に動かしてみると

C:\Users\xxx\Desktop>python test03.py

ああ,いい,うう,ええ

となり1行目までしか表示されません

 該当のソースコード

import wx
import sqlite3
class App(wx.Frame):
   """ GUI """
   def __init__(self, parent, id, title):
       wx.Frame.__init__(self, parent, id, title, size=(500, 500), style=wx.DEFAULT_FRAME_STYLE)
       # パネル
       panel_1 = wx.Panel(self, wx.ID_ANY)

       text_1 = wx.TextCtrl(panel_1, wx.ID_ANY, 'ああ')

       text_2 = wx.TextCtrl(panel_1, wx.ID_ANY, 'いい')

    text_3 = wx.TextCtrl(panel_1, wx.ID_ANY, 'うう')

       text_4 = wx.TextCtrl(panel_1, wx.ID_ANY, 'ええ')

        def click_button_1(event):
        dbname = 'database.db'
        conn = sqlite3.connect(dbname)
           c = conn.cursor()
           c.execute("create table Test_1_table(atai0,atai1,atai2,atai3);")
        text_1_1 = (text_1.GetValue())
           text_2_1 = (text_2.GetValue())
           text_3_1 = (text_3.GetValue())
           text_4_1 = (text_4.GetValue())

        purchases = (text_1_1,text_2_1,text_3_1,text_4_1)
           sql = 'insert into Test_1_table values(?,?,?,?);'
           c.execute(sql , purchases)
           c.execute("select atai0,atai1,atai2,atai3 from Test_1_table;")
           conn.commit()
           conn.close()

       layout_1.Add(text_1, flag=wx.EXPAND | wx.ALL,border=10)
       layout_1.Add(text_2, flag=wx.EXPAND | wx.ALL,border=10)
        layout_1.Add(text_3, flag=wx.EXPAND | wx.ALL,border=10)
        layout_1.Add(text_4, flag=wx.EXPAND | wx.ALL,border=10)
        layout_1.Add(button_1, 0, wx.GROW)

     button_1 = wx.Button(panel_1, wx.ID_ANY, '送信')
        button_1.Bind(wx.EVT_BUTTON,click_button_1)

        panel_1.SetSizer(layout_1)

class App_1(wx.Frame):#資料台帳閲覧

    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(700, 700), style=wx.DEFAULT_FRAME_STYLE)

        panel_2 = wx.Panel(self, wx.ID_ANY)

        dbname = 'database.db'

        conn = sqlite3.connect(dbname)
        c = conn.cursor()
        c.execute("select atai0,atai1,atai2,atai3 from Test_1_table;")
        row = c.fetchone()
        while (row != None):
            maped_list = map(str, row)  #mapで要素すべてを文字列に
            mojiretu = ''.join(maped_list)
            read_text_1 = wx.StaticText(panel_5, wx.ID_ANY, mojiretu)
            row = c.fetchone()

        layout_1 = wx.BoxSizer(wx.VERTICAL)
        layout_1.Add(read_text_1)

        panel_2.SetSizer(layout_1)

app = wx.App()
app_1 = wx.App()
App(None, -1, 'test')
App_1(None, -1, 'test_2')
app.MainLoop()
app_1.MainLoop()

 補足情報(FW/ツールのバージョンなど)

Python3.6
Python
SQLite
Python 2.7
Python 3.x
SQL

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • wwbQzhMkhhgEmhU

    2018/10/11 23:13

    いろいろおかしいですが、まず位置とサイズの指定がありません。やりたいことに一足飛びして、他人に分からないことを質問せず、順番に勉強してくださいね。

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2018/10/12 08:46

    あーすみません。ここでもYahoo知恵袋のような謎の上から目線のコメント+その上答えに繋がらないコメントをする勘違いさんはいるんですね。ただコードを全て書いていないのは事実なので修正いたします。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る