2016-12-01 4 views
0

Я пытаюсь получить результат из SQL Query, чтобы отобразить рядом с текстом «Билеты закрыты последние 24 часа» при выполнении сценария.
SQL Query возвращает одно число. Я пытаюсь получить номер для отображения в поле StaticText для self.some_text, где он меняет текст метки на номер при запуске.Показать результат SQL-запроса с помощью wxPython

Пример: https://s11.postimg.org/jil0kzfqb/tickets.png На изображении нет номера из SQL-запроса. (Вы можете игнорировать адрес, номер единицы и текст города и поля)

Я иду с другой программы, созданной кем-то другим, поэтому некоторые из этого кода могут не понадобиться. Я пытаюсь изучить SQL и Python на лету, в значительной степени новичок прямо сейчас.

Это мой код до сих пор:

import wx 
import MySQLdb 

db = MySQLdb.connect(host="xxxxxxxxxxxx",port=xxx,user="xx",passwd="xxxxx",db="xxxx") 

class Data(): 
    def TicketsClosedLast24Hours(self, event): 
     cur = db.cursor() 
     cur.execute("Select COUNT(*) FROM HD_TICKET WHERE HD_STATUS_ID = 12 AND TIME_CLOSED >= NOW() - INTERVAL 1 DAY") 
     row = cur.fetchone() 
     print(row[0]) 
     row = cur.fetchone() 

class MainFrame(wx.Frame): 
    def __init__(self): 
     wx.Frame.__init__(self, None) 

     self.Centre() 
     self.Maximize(True) 

     self.background = wx.Panel(self) 
     self.background.SetBackgroundColour(wx.Colour(98, 125, 152)) 

     self.some_text = wx.StaticText(self.background, wx.ID_ANY, label="", style=wx.ALIGN_CENTER) 
     self.Address = wx.TextCtrl(self.background, -1, "", size=(140, -1)) 
     self.UnitNumber = wx.TextCtrl(self.background, -1, "", size=(140, -1)) 
     self.City = wx.TextCtrl(self.background, -1, "", size=(140, -1)) 

     self.horizontalRow0 = wx.BoxSizer() 
     img1 = wx.Image("logo1.bmp", wx.BITMAP_TYPE_BMP, -1) 
     self.bitmap1 = wx.StaticBitmap(self.background, -1, wx.BitmapFromImage(img1), (55, 0)) 
     self.horizontalRow0.Add(self.bitmap1, wx.Center, border=10) 

     self.VerticalRow1 = wx.BoxSizer(wx.VERTICAL) 
     self.VerticalRow1.Add(wx.StaticText(self.background, -1, "Tickets Closed Last 24 Hours", 
              style=wx.ALIGN_CENTER), flag=wx.ALL, border=5) 
     self.VerticalRow1.Add(wx.StaticText(self.background, -1, "Address:", 
              style=wx.ALIGN_CENTER), flag=wx.ALL, border=9) 
     self.VerticalRow1.Add(wx.StaticText(self.background, -1, "Unit Number:", 
              style=wx.ALIGN_CENTER), flag=wx.ALL, border=9) 
     self.VerticalRow1.Add(wx.StaticText(self.background, -1, "City:", 
              style=wx.ALIGN_CENTER), flag=wx.ALL, border=9) 

     # To add labels - H-1 V-2 
     self.VerticalRow2 = wx.BoxSizer(wx.VERTICAL) 
     self.VerticalRow2.Add(self.some_text, proportion=1, flag=wx.ALL, border=6) 
     self.VerticalRow2.Add(self.Address, proportion=1, flag=wx.ALL, border=6) 
     self.VerticalRow2.Add(self.UnitNumber, proportion=1, flag=wx.ALL, border=6) 
     self.VerticalRow2.Add(self.City, proportion=1, flag=wx.ALL, border=6) 

     # Combine V-1 And V-2 to H1 
     self.horizontalRow1 = wx.BoxSizer() 
     self.horizontalRow1.Add((30, 30), proportion=0, flag=wx.EXPAND, border=0) 
     self.horizontalRow1.Add(self.VerticalRow1, proportion=.5) 
     self.horizontalRow1.Add(self.VerticalRow2, proportion=0) 

     # To add labels - H-3 V-8 
     self.VerticalRow1 = wx.BoxSizer(wx.VERTICAL) 

     # To add labels - H-4 V-9 
     self.horizontalRow4 = wx.BoxSizer() 
     self.horizontalRow4.Add((30, 30), proportion=.5, flag=wx.EXPAND, border=0) 
     self.horizontalRow4.Add((30, 30), proportion=1, flag=wx.EXPAND, border=0) 

     # Adds horizontal Rows to Main Window in Vertical boxes 
     self.verticalBox = wx.BoxSizer(wx.VERTICAL) 
     self.verticalBox.Add(self.horizontalRow0, proportion=0, flag=wx.EXPAND, border=10) 
     self.verticalBox.Add((10, 10), proportion=0, flag=wx.EXPAND, border=10) 
     self.verticalBox.Add(self.horizontalRow1, proportion=0, flag=wx.EXPAND, border=0) 
     self.verticalBox.Add((10, 10), proportion=0, flag=wx.EXPAND, border=10) 
     self.verticalBox.Add(self.horizontalRow4, proportion=0, flag=wx.EXPAND, border=0) 

     self.background.SetSizer(self.verticalBox) 
     self.Show() 

    def someFunction(self): 
     mysql_data = databasemodel.returnData() # query your database to return a string 
     self.some_text.SetLabel(mysql_data) 


if __name__ == '__main__': 
    app = wx.App(redirect=False) 
    window = MainFrame() 
    app.MainLoop() 

Любая помощь будет оценена.

Спасибо!

+0

В чем ваш вопрос? –

+0

Я пытаюсь получить результат из SQL Query, чтобы отобразить рядом с текстом «Билеты закрыты последние 24 часа» при выполнении сценария. SQL Query возвращает одно число. Я пытаюсь получить номер для отображения в поле StaticText для self.some_text, где он меняет текст метки на число при запуске. https://s11.postimg.org/jil0kzfqb/tickets.png На изображении нет номера из SQL-запроса. (Вы можете игнорировать адрес, номер единицы и текст города и поля) – Cpollack09

+0

Предлагаю вам отредактировать вопрос, чтобы все было ясно, что именно вы спрашиваете. Было бы лучше, если бы название также отражало суть вопроса. –

ответ

0

Код выглядит корректно для меня. Я не вижу ничего, что на самом деле вызывает someFunction. Я предполагаю, что это проблема. Вы должны попробовать позвонить и распечатать mysql_data в stdout, чтобы убедиться, что результат, который вы получаете, - это то, что вы ожидаете.

 Смежные вопросы

  • Нет связанных вопросов^_^