MySQL 的中文字符问题 (100分)

C

cyhan

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi 5的ADO控件通过MyOLE DB 连接MySQL,发现一个很奇怪的问题
1)
ADOCommand1.CommandText:='insert receive values("123","001","Yes")';
ADOCommand1.Execute;
以上命令运行正常可以插入记录,把第一条里面的字符换成中文的,如下面
ADOCommand1.CommandText:='insert receive values("123","001","嘿嘿")';
再执行就出错了,出错信息为“未知错误”
但是把这条SQL语句放在mysql的命令行中执行却没有问题,可以插入记录。
2)把上面的ADOCommand换成ADOQuery控件,
ADOQuery1.SQL.Text:='insert receive values("222","55555","嘿嘿")';
ADOQuery1.ExecSQL;
出现同样的错误。
3)改成ADOTable控件
ADOTable1.Append;
ADOTable1.FieldByName('id').AsString:='55556';
ADOTable1.FieldByName('text').AsString:='嘿嘿';
ADOTable1.Post;
运行成功,记录正常插入。

请各位大侠拔刀相助,因为的我的程序里面实在不需要用到TADOTable,只需要用SQL语句插入记录。
先谢了!



 
没有碰到过,可能是ole db的问题吧
通过BDE是可以插入的,没有问题
只是mysql对中文排序时,有问题,需要重新编译mysqld.exe
 
接受答案了.
 
顶部