반응형


1초마다 mssql서버로부터 데이터를 받아와서 listview의 데이터를 업데이트 하는 예제입니다.  데이터베이스에서 데이터를 가져오기 위해서 설치해야 할 패키지들은 아래 글을 참고하세요..


[프로그래밍/python] - Python으로 MSSQL 에서 데이터 가져오기( Ubuntu Linux 14.04)






  1. from kivy.adapters.listadapter import ListAdapter  
  2. from kivy.uix.listview import ListView, ListItemButton  
  3. from kivy.uix.boxlayout import BoxLayout  
  4. from kivy.lang import Builder  
  5. from kivy.app import App  
  6.   
  7. from kivy.clock import Clock  
  8.   
  9.   
  10. import _mssql  
  11.   
  12.   
  13. Builder.load_string(""" 
  14. <CellarDoor>: 
  15. #    ListView: 
  16. #        adapter: root.myadapter 
  17. """)  
  18.   
  19. class CellarDoor(BoxLayout):  
  20.     def __init__(self, **kwargs):  
  21.   
  22.   
  23.         self.myadapter = ListAdapter(data="",  
  24.                           cls=ListItemButton,  
  25.                           selection_mode='single',  
  26.                           allow_empty_selection=True)  
  27.   
  28.         super(CellarDoor, self).__init__(**kwargs)  
  29.         self.add_widget(ListView(adapter=self.myadapter))  
  30.   
  31.   
  32.         Clock.schedule_interval(self.update_list_data, 1)  
  33.   
  34.   
  35.     def update_list_data(self, dt):  
  36.         conn = _mssql.connect(server='서버아이피', user='아이디',  
  37.                       password='패스워드', database='데이터베이스 이름')  
  38.   
  39.   
  40.         conn.execute_query('SELECT * FROM STATE ORDER BY CURDATE DESC')  
  41.   
  42.         self.item = []  
  43.         for row in conn:  
  44.             self.item.append("IP=%s, TIME=%s" % (row['IP'], row['CURTIME']))  
  45.   
  46.         conn.close()  
  47.   
  48.         self.myadapter.data = self.item  
  49.   
  50.   
  51.   
  52.   
  53.   
  54. class TestApp(App):  
  55.     def build(self):  
  56.         return CellarDoor()  
  57.   
  58. if __name__ == '__main__':  
  59.     TestApp().run()  







반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

+ Recent posts