我的sql语句为什么不支持中文啊
我写了这样一句:
self.ADOQuerykh.Close;
    self.ADOQuerykh.SQL.Clear;
    self.ADOQuerykh.SQL.Add('SELECT 客户名称, 货品编号, 型号, SUM(数量) AS 定货量, SUM(已发数量) AS 实际发货量,SUM(单价 * 已发数量) AS 销售额 FROM (SELECT *  FROM hdzy_dd WHERE 订单编号 like :ddbh and 客户名称 like :khmc) DERIVEDTBL GROUP BY 客户名称, 货品编号, 型号');
    self.ADOQuerykh.Parameters.ParamValues['ddbh']:=ddbh;
    self.ADOQuerykh.Parameters.ParamValues['khmc']:='%' + trim(edit1.text)+'%';
    self.ADOQuerykh.Open;    self.ADOQuerykh.ExecSQL;
    self.ADOQuerykh.Active:=true;如果条件中edit.text为汉字,则不能显示,为什么呀?怎么解决呀,如果是字母就可以。帮忙看看!

解决方案 »

  1.   

    把self.ADOQuerykh.Parameters.ParamValues['khmc']:='%' + trim(edit1.text)+'%';改为
    self.ADOQuerykh.Parameters.ParamValues['khmc'].asString:='%' + edit1.text+'%';试试
      

  2.   

    把self.ADOQuerykh.Parameters.ParamValues['khmc']:='%' + trim(edit1.text)+'%';
    改为
    self.ADOQuerykh.Parameters.ParamValues['khmc'].asString:='%' +''''+ edit1.text+''''+'%';
    试试。注意:单引号个数
      

  3.   

    不会吧,我的方法应该可以的,改下面的试试
    self.ADOQuerykh.Parameters.ParamValues['khmc'].asString:=''''+'%' +trim(edit1.text)+'%'+'''';