在delphi中连上mysql数据库,但是insert或create table时(执行其它命令我想一样结果),带有中文就会出错,没有中文时就能正确执行,什么原因呢?怎么解决?
但是,我用其它的客户端工具连上该mysql服务器,可以执行create table或insert
且带有中文字符的语句。

解决方案 »

  1.   

    安装myodbc后,用ado直接连的,原文表达有误:
    应该是:create table在delphi中和在客户端软件带中文字符都不能执行
            insert在delphi中带中文字符出错,在客户端软件带中文字符可以执行
      

  2.   

    with adoquery1 do
      begin
        close;
        sql.Clear;
        sql.add('insert into devvou(devname,id) values (''啊'',''66'')');
        prepared;
        open;
      end;
    上面代码在delphi里不能执行
      with adoquery1 do
      begin
        close;
        sql.Clear;
        sql.add('insert into devvou(devname,id) values (''ss'',''66'')');
        prepared;
        open;
      end;上面代码能正确执行
      

  3.   

    试验一下
    with adoquery1 do
      begin
        close;
        sql.Clear;
        prepared;
        sql.add('insert into devvou(devname,id) values(''ss'',66)');
        Execute;
      end;
      

  4.   

    试验一下
    with adoquery1 do
      begin
        close;
        sql.Clear;
        prepared;
        sql.add('insert into devvou(devname,id) values(''阿'',66)');
        Execute;
      end;
      

  5.   

    不会吧,我以前做过
    换个高版的mysql 和 odbc试试
    odbc设置里有好多选项
    我记得好像3.5的第一二项带个char 来着默认选了
    2.x默认没选请大家去 http://www.new7wonders.com/c/voting.php 投长城一票
      

  6.   

    to alaclp:
       字段devname和id都是char类型的,你说的方法是不行的现在mysql和myodbc的最新版本是多少?
      

  7.   

    问题解决了,是我的odbc版本不够新。