日本語カラム名や日本語テーブル名を用いた MySQL(MariaDB) を Xojo で使うやり方。
環境
- Ubuntu 18.04 AMD64
- Xojo 2019 r3.1
- (MySQL) 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
なお、MS-Windows でも同様にテストしたが、 Xojo に組み込まれている MySQL のドライバだと解決できない感じ。
接続
self.db = New MySQLCommunityServer
self.db.Host = "127.0.0.1" // "localhost" ではNG
self.db.UserName = "xojodb"
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
set names utf8 collate utf8_general_ci
と
set character set utf8
を実行しておく必要がある。
試したSQL
この設定で、以下のSQLが正常に動作した。
INSERT文
app.db.ExecuteSQL("INSERT INTO sensorJP ( センサ,温度,湿度,memo) VALUES (2,"+temp+","+hemi+",'換気中');")
Select文
rsJP =app.db.SelectSQL("SELECT id,温度,湿度,memo FROM sensorJP")