发表时间:2004-11-29 13:09:58    [回复] [修改] [转帖] [锁帖] [结帖]  
-------------------------------------------------------------------------------- 楼主  源码如下:
with datamodule1.sqlcommand do
begin
  sql.clear;
sql.add('select * from 商品信息 where 分类编号 like "%'+trim(edit1.text)+'%"');
   open;
end;
出错信息为:在%edit1.text%附近有语法错误.
数据库备份:
sql.add('BACKUP DATABASE "价格管理" TO DISK="'TRIM(EDIT1.TEXT)+'"');
出错信息也同上一样.
请大家帮助. 

解决方案 »

  1.   

    你的那個trim(edit.text)前要加單引號
    比如說你的結果要修改為sql='select * from 商品信息 where 分類編號 like '+#39+'% '+trim(edit1.text)+'%'+#39;---------#39是一個單引號
    這樣你試一下
    主要是SQL語句要有這樣的格式select * from table  where  aa like '%XXX%';
    你可以把結果用inputbox彈出來copy 到 SQL去執行,看一下是否有錯
      

  2.   

    sql.add('select * from 商品信息 where 分类编号 like :A);
    Paramters.parambyanem('A').value:='%'+Trim(Edit1.Text)+'%'
    'BACKUP DATABASE 价格管理 TO DISK='''+TRIM(EDIT1.TEXT)+'''';
      

  3.   

    with datamodule1.sqlcommand do
    begin
      sql.clear;
    sql.add('select * from 商品信息 where 分类编号 like '+chr(39)+'%'+trim(edit1.text)+'%'+chr(39)'');
       open;
    end;
    试一试。。
      

  4.   

    with datamodule1.sqlcommand do
    begin
      sql.clear;
    sql.add('select * from 商品信息 where 分类编号 like "%'''+trim(edit1.text)+'''%"');
       open;
    end;sql.add('BACKUP DATABASE "价格管理" TO DISK='''+TRIM(EDIT1.TEXT)+'''');这样应该ok