Xojo 로 Web+DB 앱을 만들어 보자 (MySQL/MariaDB편)
htps : // 코 m / 난부 wks / ms / 2 세 FC72528 A16D60 A329
이제 SQLite를 사용했지만 MySQL (MariaDB)에서 시도해 보겠습니다.
데이터베이스 준비
"MariaDB on Ubuntu18.04 LTS"
htps : // m / 난부 wks / ms / c98c51744bd0f72 A7087
같은 방법으로 설치합니다.
앱 만들기
첫 번째 메뉴에서 웹을 선택합니다.
앱을 선택하고 메뉴 모음의 Insert-Property에서 Name을 db로, Type을 MySQLCommunityServer로 설정합니다.
앱을 다시 선택하고 Insert-Event Handler-Open에서 다음을 작성하십시오.
self.db = New MySQLCommunityServer
self.db.Host = "127.0.0.1"
self.db.UserName = "webdb"
self.db.Password = "password"
self.db.DatabaseName = "test"
Try
self.db.Connect
// proceed with database operations here..
Catch error As DatabaseException
MessageBox("The database couldn't be opened. Error: " + error.Message)
Return
End Try
try
self.db.SQLExecute("set names utf8 collate utf8_general_ci")
self.db.SQLExecute("set character set utf8")
self.db.SQLExecute("use test")
Catch error as DatabaseException
MessageBox error.Message
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 버튼을 누르면 내장 Web 서버가 기동해, 브라우저가 자동으로 기동해 앱 화면이 표시된다.
이번에는 코딩은 Windows에서 실행은 Linux 서버에서 움직였다. MySQL/MariaDB도 Linux에서 실행되고 있다.
이러한 이유는 일본어로 MySQL/MariaDB를 Xojo로 사용하는 경우 Windows에서는 문제가 있고, Xojo IDE가 Linux에서는 문제가 있기 때문이다.
로컬 LAN끼리 접속하여 다음과 같이 실행한다.
Xojo로 원격 개발
htps : // 코 m / 난부 wks / ms / 4743756186060c3c3d20
웹 앱이지만 Remode Debugger Desktop이 아니면 움직이지 않았다.
원격이 아니면 웹 브라우저가 자동으로 시작되지만 이번에는 수동으로 웹 브라우저를 http://(Linux 서버의 IP 주소):8080
열기.
데스크톱 앱과 다른 곳
「ojo 로 Web+DB 앱을 만들어 보자(SQLite편)」와 같은 내용:
첫 번째 메뉴에서 웹을 선택합니다.
앱을 선택하고 메뉴 모음의 Insert-Property에서 Name을 db로, Type을 MySQLCommunityServer로 설정합니다.
앱을 다시 선택하고 Insert-Event Handler-Open에서 다음을 작성하십시오.
self.db = New MySQLCommunityServer
self.db.Host = "127.0.0.1"
self.db.UserName = "webdb"
self.db.Password = "password"
self.db.DatabaseName = "test"
Try
self.db.Connect
// proceed with database operations here..
Catch error As DatabaseException
MessageBox("The database couldn't be opened. Error: " + error.Message)
Return
End Try
try
self.db.SQLExecute("set names utf8 collate utf8_general_ci")
self.db.SQLExecute("set character set utf8")
self.db.SQLExecute("use test")
Catch error as DatabaseException
MessageBox error.Message
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 버튼을 누르면 내장 Web 서버가 기동해, 브라우저가 자동으로 기동해 앱 화면이 표시된다.
이번에는 코딩은 Windows에서 실행은 Linux 서버에서 움직였다. MySQL/MariaDB도 Linux에서 실행되고 있다.
이러한 이유는 일본어로 MySQL/MariaDB를 Xojo로 사용하는 경우 Windows에서는 문제가 있고, Xojo IDE가 Linux에서는 문제가 있기 때문이다.
로컬 LAN끼리 접속하여 다음과 같이 실행한다.
Xojo로 원격 개발
htps : // 코 m / 난부 wks / ms / 4743756186060c3c3d20
웹 앱이지만 Remode Debugger Desktop이 아니면 움직이지 않았다.
원격이 아니면 웹 브라우저가 자동으로 시작되지만 이번에는 수동으로 웹 브라우저를 http://(Linux 서버의 IP 주소):8080
열기.
데스크톱 앱과 다른 곳
「ojo 로 Web+DB 앱을 만들어 보자(SQLite편)」와 같은 내용:
「ojo 로 Web+DB 앱을 만들어 보자(SQLite편)」와 같은 내용:
Reference
이 문제에 관하여(Xojo 로 Web+DB 앱을 만들어 보자 (MySQL/MariaDB편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nanbuwks/items/0ccf38fc3f6ec2648d07텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)