Search This Blog

Thursday, October 4, 2018

MySQL Connector C++ 8.0 with wxWidgets

MySQL Connector C++ 8.0 ကို wxWidgets နဲ့ တွဲသုံး တဲ့ နမူနာ တစ်ခု ကို ဖော်ပြ ချင် ပါတယ်။ wxWidgets ထည့်သွင်း အသုံးပြုပုံ နဲ့ MySQL server, MySQL Connector C++ 8.0 တို့ တပ်ဆင် အသုံးပြု ပုံ အသေး စိတ်တွေ ကို အောက်က လင့်ခ် တွေမှာ ဖော်ပြ ထားတဲ့ အရင်ပို့စ် တွေ မှာ တွေ့နိုင် ပါတယ်။

ceMySQL.h Cross-platform C++ programming with wxWidgets

Using MySQL Database with C++ on Various Platforms Including ARM Single Board Computers

အဲဒီ အတွက် ဆက်သွယ် အသုံးပြု မယ့် MySQL server မှာ mytest ဆိုတဲ့ database နဲ့၊ အထဲမှာ mytable ဆိုတဲ့ table ကို Figure 1 မှာ ပြထား တဲ့ အတိုင်း MySQL Workbench နဲ့ ဖန်တီး ထားလိုက် ပါမယ်။


Figure 1. Creating a database 'mytest' and a table 'mytable' using MySQL Workbench.


အဲဒီ နမူနာ မှာ အသုံးပြု မယ့် ceMySQL ဆိုတဲ့ class module ကို

ceMySQL.h (https://github.com/yan9a/odroid/blob/master/database-mysql/ceMySQL.h) နဲ့

ceMySQL.cpp (https://github.com/yan9a/odroid/blob/master/database-mysql/ceMySQL.cpp)

တို့မှာ ဖော်ပြ ထား ပါတယ်။

ceMySQL ဆိုတဲ့ MySQL Connector C++ class ကို အောက်က လင့်ခ် မှာ ဖော်ပြ ထားတဲ့ wxWidgets နမူနာ ပရိုဂရမ်

wxmysql.cpp (https://github.com/yan9a/odroid/blob/master/database-mysql/wxmysql.cpp)

မှာ အသုံးပြု ပြီး၊ data record တွေကို select, insert, update, delete လုပ်ပြ ထား ပါတယ်။ ပရိုဂရမ် ကို build လုပ်ပြီး၊ run ဖို့ အတွက် command တွေကို wxmysql-bar.sh (Listing 4) မှာ ဖော်ပြ ထား ပါတယ်။

g++ wxmysql.cpp ceMySQL.cpp -std=c++11 \
    `wx-config --cxxflags --libs` \
    -I /usr/local/mysql/connector-c++-8.0/include \
    -L /usr/local/mysql/connector-c++-8.0/lib64 \
    -lmysqlcppconn8 -o wxmysql
./wxmysql
Listing 4. MySQL Connector C++ wxWidgets ပရိုဂရမ် wxmysql.cpp ကို build လုပ်၍ run ရန် script ဖိုင် wxmysql-bar.sh ။

ပရိုဂရမ် ရဲ့ GUI နဲ့ ရလဒ် ကို Figure 2 မှာ ပြထား ပါတယ်။


Figure 2. Using MySQL C++ connector 8.0 with wxWidgets.