Delphi XE LiveBindings連結MySQL中文亂碼問題

 

 

 

一直都嘗試用原來的寫法,沒試過LiveBindings的功能,昨天看到 CodeRage8的介紹後,今天嘗試一下,結果剛好遇到MySQL中文亂碼問題,一起分享。

Data Explorer

DataExplorer01

1打開Data Explorer,在MySQL按右鍵 >> Add New ConnectionDataExplorer02

2新增名字DataExplorer03

3輸入連線資訊

HostName >> 主機名稱

Database >> 資料庫名稱

User Name >> 帳號
Password >> 密碼

接著可以打開 Advanced看看裡面有什麼

DataExplorer04 DataExplorer05

4按OK完成

 

LiveBindings

liveBindings01

1從上面的功能表點選 View -> LiveBindings Designer打開 LiveBindings DesignerliveBindings02

2會看到下面多了一塊 LiveBindings Designer的畫面,接著按左下角的LiveBindings Wizard

liveBindings03

3可以選擇Binding的方式,我們選第二個 Link a grid with a data source

liveBindings04

4選擇TGrid

liveBindings05

5選DBX(DBExpress)

liveBindings06

6選擇 Driver: MySQL;Connection Name:POS(剛才Data Explorer建立的);Command Type: ctTable(連接Table);Command Text:下拉要連結的Table

liveBindings07

7勾選 Add Data Source navigator,新增一個navigatorliveBindings08

8完成後就會發現 LiveBinding都做好了XD 稍徵排版一下liveBindings09

9發現裡面的中文變成????怎麼辦?

liveBindings10

10點選 TSQLConnection,在Driver裡面有一個 ServerCharSet設成big5,接著把上面的Connected勾掉再勾回去(重新連線)

liveBindings11

11再回到TBindSourceDBX,一樣在Active的地方勾掉再勾回去重新連線

liveBindings1212亂碼的地方回復成中文了!