Xojo로 Web+DB 앱 만들기(SQLite편)

Xojo는 데스크톱 앱과 마찬가지로 웹 앱을 만들 수 있습니다.

데스크톱 앱으로 만든
Xojo + SQLite로 플레이
htps : // m / 난부 wks / ms / 507 d3 a 21 04512 d31
을 바탕으로 Web+DB 앱을 만들어 봅니다.

데이터베이스 준비



앞의 데스크톱 앱의 해설 기사에서 했듯이 SQLite 데이터베이스, 테이블을 준비해 둡니다.

앱 만들기



첫 번째 메뉴에서 웹을 선택합니다.


앱을 선택하고 메뉴 모음의 Insert-Property에서 Name을 db로, Type을 SQLitedatabase로 설정합니다.

앱을 다시 선택하고 Insert-Event Handler-Open에서 다음을 작성하십시오.

self.db = New SQLiteDatabase
self.db.DatabaseFile = New FolderItem("..\sensordata.sqlite")
Try
  self.db.Connect
Catch error As DatabaseException
  MessageBox("DB open error: " + error.Message)
  Return
End Try

WebPage1로 이동하여 Text Field를 2개, 버튼을 1개 드래그 드롭합니다. 버튼을 두 번 클릭하여 Action에 다음을 씁니다.
var Record as new DatabaseRow
dim temp as string
temp = tempField.Text
dim hemi as string
hemi = hemiField.Text
try
  app.db.ExecuteSQL("INSERT INTO sensor ( sensor,temp,hemi ) VALUES (1,"+temp+","+hemi+");")
Catch error as DatabaseException
  MessageBox error.Message
end try

그런 다음 버튼을 하나 더 놓고 두 번 클릭하여 Action에 다음 코드를 씁니다.

var temp,hemi as double
var rs as RowSet
try
  rs =app.db.SelectSQL("SELECT id,sensor,temp,hemi FROM sensor")
Catch e as DatabaseException
  messagebox e.Message
end try
try
  for each row as databaserow in rs
    temp = val(row.column("temp").stringvalue)
    hemi = val(row.column("hemi").stringvalue)
    Listbox1.AddRow( row.column("id").StringValue,row.column("sensor"),format(temp,"##.#"),format(hemi,"##.#") )
  next
Catch e as DatabaseException
  messagebox e.Message
end try

마지막으로 List Box를 WebPage1에 놓고 열 수를 4로 만듭니다.

라벨을 붙이거나 OK를 다시 작성하여 체재를 정돈합니다.



실행



Play 버튼을 누르면 내장 웹 서버가 시작됩니다. 브라우저가 자동으로 시작되어 앱 화면이 표시됩니다.



데스크톱 앱과 다른 곳


  • WIndow1 → WebPage가 된다
  • ListBox라는 이름은 예약되어 있기 때문에 ListBox1이라는 이름으로 했다.
  • 텍스트 필드를 사용한 hemiField 의 값: hemiField.Value 는 hemiField.Text 가 된다
  • 좋은 웹페이지 즐겨찾기