query1.sql.Add('select 明细单编号,机器型号,客户名称,出库单日期,软件cpu号,软件rom号,硬件版本 from HDR明细档案.db');
       query1.sql.Add('where 机器型号=:name and 出库单日期>:date1 and 出库单日期<:date2 order by 出库单日期');请问上面的程序错在哪里,用它来对数据库查询,并没报错单老是查不到任何符合条件的记录,请各位帮忙看看

解决方案 »

  1.   

    什么数据库?access
    query1.sql.Add('where 机器型号='':name'' and 出库单日期>#:date1# and 出库单日期#<:date2# order by 出库单日期');sql server
    query1.sql.Add('where 机器型号='':name'' and 出库单日期>'':date1'' and 出库单日期<'':date2'' order by 出库单日期');
    Microsoft OLE DB Provider for SQL Server 错误 '80040e31' 超时已过期 /Expert/reply.asp,行105
      

  2.   

    什么数据库?access
    query1.sql.Add('where 机器型号='':name'' and 出库单日期>#:date1# and 出库单日期#<:date2# order by 出库单日期');sql server
    query1.sql.Add('where 机器型号='':name'' and 出库单日期>'':date1'' and 出库单日期<'':date2'' order by 出库单日期');
      

  3.   

    什么数据库?access
    query1.sql.Add('where 机器型号='':name'' and 出库单日期>#:date1# and 出库单日期#<:date2# order by 出库单日期');sql server
    query1.sql.Add('where 机器型号='':name'' and 出库单日期>'':date1'' and 出库单日期<'':date2'' order by 出库单日期');
    Microsoft OLE DB Provider for SQL Server 错误 '80040e31' 超时已过期 /Expert/reply.asp,行105
      

  4.   

    query1.sql.Add('select 明细单编号,机器型号,客户名称,出库单日期,软件cpu号,软件rom号,硬件版本 from HDR明细档案.db');
           query1.sql.Add('where 机器型号=:name and 出库单日期>:date1 and 出库单日期<:date2 order by 出库单日期');问题应该是在 Where的前面加一个空格。如果你的程序写的和这个一样的话
      

  5.   

    我的数据库是 paradox的我对另外一个数据库进行查询就没出现上述问题,查询语句是一样的
      

  6.   

    var sql:
    sql:string;
    sql:='参数';
    query1.close;
    query1.sql.clear;
    query1.sql.Add('where 机器型号=:name and 出库单日期>:date1 and 出库单日期<:date2 order by 出库单日期')
    query1.paramsbyname('name').asstring:=sql;
    .
    .
    .
    .
    query1.open;
      

  7.   

    建议将where 后面的条件加上括号,即;
    where ((..)and(..)and(..))
      

  8.   

    jxc163(一水寒) ( ) 信誉:101  2003-08-05 15:22:00  得分:0  
     
    问题应该是在 Where的前面加一个空格。如果你的程序写的和这个一样的话>>我也这样以为,虽然我没有用过其自带的Parax,试试jxc163(一水寒)的。