一直因为 编码、端口问题没有搞定,没有使用 SQL direct 组件,不过现在已经测试成功了
DatabaseName = 'TEST'
Params.Strings = ( 'USER NAME=root' // 用户名 'PASSWORD=1234567' // 密码 'SERVER PORT=3307' // 端口设置 'DATABASE NAME=test' // 数据库名 'SQL DIALECT=3' 'SINGLE CONNECTION=TRUE' 'LOCAL CHARSET=UTF8' // 字符集设置 'UNICODE STRING=TRUE') RemoteDatabase = '192.168.1.3' // 服务器 这里设置最变态 ServerType = stMySQL SessionName = 'Default' OnLogin = DatabaseLogin
除上面设置外,用 SQL 操作数据库时,还要自己 转码:
qryQuery.Close;
qryQuery.SQL.Text := UTF8Encode('UPDATE TEST_PERSON SET note=''錦123456錦'''); // 有汉字时要转码 qryQuery.ExecSQL;真的是有些变态呀!