Saturday, January 16, 2016

Project (51) Sqlite database (ဓမၼပဒ)

Project (51) Sqlite database (ဓမၼပဒ)

Scripter မွာ Sqlite database အသံုးျပဳ ပံုကို နမူနာ ေရးျပထားပါတယ္။

အသံုးျပဳ နည္း
==========
၁။ database file ကို add assets file နဲ႔ add ထားပါ။ အခုနမူနာမွာ dhamma.sqlite database file ကို သံုးထားပါတယ္။ ဒီ database ထဲမွာ dhammapada ဆိုတဲ့ table ရိွပါတယ္။ column အမည္ေတြက rowid, col_1, col_2, col_3, col_4 ေတြ ျဖစ္ပါတယ္။ rowid ေတြကေတာ့ ဓမၼပဒ စာပိုဒ္ နံပါတ္ေတြ ျဖစ္ၿပီး 1 to 424 ရွိပါတယ္။ col_2 ကေတာ့ ဓမၼပဒ ျမန္မာလို စာပိုဒ္မ်ား၊ col_4 ကေတာ့ အဂၤလိပ္လို စာပိုဒ္မ်ား ျဖစ္ပါတယ္။

၂။ ဒီ database file ကို FileDirAssets ကေန FileDirInternal ဆီကို ကူးထုတ္ရပါတယ္။

FileCopy(FileDirAssets,"dhamma.sqlite",FileDirInternal,"dhamma.sqlite")

၃။ database ထဲက dhammapada table ထဲကေန ျမန္မာလို စာပိုဒ္ col_2 ကို ရွာေဖြဖို႔ query တည္ေဆာက္ရပါတယ္။ ဒီဥပမာ မွာေတာ့ edittext1 နဲ႔ ရွာခ်င္တဲ့ စကားလံုးကို ရယူတယ္။ edittext2 နဲ႔ စာပိုဒ္နံပါတ္ကို ရယူတယ္။ query တည္ေဆာက္မႈကို နည္းလမ္း ၂မ်ိဳးနဲ႔ ဥပမာ ျပထားျခင္း ျဖစ္ပါတယ္။

qq="SELECT col_2 FROM dhammapada WHERE col_2 LIKE '%" & GetText("edt1") & "%'"

qq="SELECT col_2 FROM dhammapada WHERE rowid=" & GetText("edt2")

၄။ အထက္မွာ တည္ေဆာက္ထားတဲ့ query string နဲ႔ database ကို query လုပ္ယူပါတယ္။ ဒါဆိုရင္ ရလာတဲ့ ရလဒ္ record ေတြကို cursor တခုအေနနဲ႔ ျပန္ေပးပါတယ္။ ဒီ cursor ကို "cursor1" ဆိုတဲ့အမည္နဲ႔ ေခတၱ သိမ္းလိုက္ပါတယ္။

SQL_execquery(qq,"cursor1")

၅။ ရလဒ္ cursor1 မွာ record ရွိရင္ label1 မွာ display လုပ္ျပခိုင္းပါတယ္။

If (Cursor_getrowcount("cursor1")>0) Then
txt=""
For i=0 to Cursor_getrowcount("cursor1")-1
Cursor_setposition("cursor1",i)
txt=txt & Cursor_getString("cursor1","col_2") & crlf & crlf
Next

.....

SetText("lb1",txt)
AdjustlabelHeight("lb1")
SetHeight("pnl",GetHeight("lb1"))

================

Project sql.zip ဖိုင္ကို download လုပ္ဖို႔ link ေပးထားပါတယ္။

Download  project zip file here


===========

ေနာက္ထပ္ project အေနနဲ႔ အသံထြက္ေပးႏိုင္တဲ့ အဂၤလိပ္ ျမန္မာ dictionary ဖန္တီးနည္းကို တင္ေပးပါမယ္။

Project (49) Font installer

Scripter ကို အသံုးျပဳ ၿပီး champagne.ttf ဆိုတဲ့ font ကို install လုပ္ျပထားတဲ့ sample ျဖစ္ပါတယ္။ ဒါကို ခ်ဲ႕ထြင္ အသံုးျပဳ ႏိုင္ပါတယ္။ Project fontinstaller.zip ကို ေအာက္က link မွာ download လုပ္ပါ။


Click here to download