给你一个例子,不过不是查询的~~    xSQL :=    'Insert  into SUBDOCDTL (COMPID,SUBNUM,DEBCRE,ACCODE,SEQUNO,INTYPE,DIGEST,AMOUNT) ';
    xSQL:=xSQL+'values(:xCompID,:xSubNum,:xDC,:xAccode,1,''1'',:xDigest,:xAmount)';
    QryTemp.Close;
    QryTemp.SQL.Clear;
    QryTemp.SQL.ADD(xSQL);
    QryTemp.ParamByName('xCompID').AsString:=xCompID;
    QryTemp.ParamByName('xSubNum').AsString:=xSubNum;
    QryTemp.ParamByName('xDC').AsString:='D';
    QryTemp.ParamByName('xAccode').AsString:=DEPRID;                //?????
    QryTemp.ParamByName('xDigest').AsString:=xRealtyNo+'折舊費用';
    QryTemp.ParamByName('xAmount').AsFloat:=StrToFloat(xAmount);
    QryTemp.ExecSQL;
    QryTemp.ParamByName('xCompID').AsString:=xCompID;
    QryTemp.ParamByName('xSubNum').AsString:=xSubNum;
    QryTemp.ParamByName('xDC').AsString:='C';
    QryTemp.ParamByName('xAccode').AsString:=ASSETSID;              //?????
    QryTemp.ParamByName('xDigest').AsString:=xRealtyNo+'折舊傳票';
    QryTemp.ParamByName('xAmount').AsFloat:=StrToFloat(xAmount);
    QryTemp.ExecSQL;

解决方案 »

  1.   

    dm.employeeQuery.Sql.close;
    DM.employeeQuery.SQL.Clear;
    DM.employeeQuery.SQL.Add('SELECT Employee.*, Dept.Name AS deptname  FROM Employee Left JOIN Dept ON Employee.DeptId = Dept.Id ');
      DM.employeeQuery.SQL.Add('where employee.id<>'''');
      if (HireDateCB.Checked) and (HireDateEdit.Text<>'') then
        begin
          DM.employeeQuery.SQL.Add(' and employee.HireDate > :@HireCBX and employee.Hire > :@Hire');      DM.employeeQuery.Parameters.ParamByName('@HireCBX').Value:=
                HireDateCBX.Text;
          DM.employeeQuery.Parameters.ParamByName('@Hire').Value:= 
                HireDateEdit.date;
        end;
    你得在字段名和参数间加入操作符,还得在and间加入空格。
      

  2.   

    参数@HireCBX其实是一个逻辑符号(〈 ,= ,〉,>= , <= ),
    而@Hire是一个日期