• Delphi ADO更新条件


    转https://blog.51cto.com/kinwar/1686710

    代码将导致 ADO 在 WHERE 子句中包括的每个字段。如果您想确保所做的当前用户更新才会成功如果为表格中的行中的任何字段中不进行了任何更改,将"更新条件"属性中使用此值。

    此属性可用的常数,如下所示:
       adCriteriaKey = 0

          Uses only the primary key

       adCriteriaAllCols = 1

          Uses all columns in the recordset

       adCriteriaUpdCols = 2  (Default)

          Uses only the columns in the recordset that have been modified

       adCriteriaTimeStamp = 3

          Uses the timestamp column (if available) in the recordset
        
    注意: 指定 adCriteriaTimeStamp 可能实际使用 adCriteriaAllCols 方法执行更新,如果表中没有一个有效的时间戳字段。另外,时间戳字段不必在该记录集本身。

      //纱订单明细
      with adods_YarnJobDetail_PO do
      begin
        Active := False;
        CommandText := 'SELECT  job_item_id=a.Iden,a.Reserved_Qty,a.Quantity,a.Order_Status,a.Yarn_Type,a.Yarn_Count,a.Color_Code ' + #13#10 +
                       'FROM    AX_YarnPPODetail a WITH ( NOLOCK )' + #13#10 +
                               'JOIN AX_YarnPPOHead c WITH ( NOLOCK ) ON a.PPO_No = c.PPO_No' + #13#10 +
                               'LEFT JOIN SystemDb..pbYarnTypeList d WITH ( NOLOCK ) ON a.Yarn_Type = d.Yarn_Type' + #13#10 +
                               'LEFT JOIN systemdb..pbcustomerlist f WITH ( NOLOCK ) ON c.Customer_CD = f.Customer_Code' + #13#10 +
                               'WHERE   a.Yarn_Type = :Yarn_Type' + #13#10 +
                               'AND a.Yarn_Count = :Yarn_Count' + #13#10 +
                               'AND a.Quantity-Reserved_Qty>0' + #13#10 +
                               'AND d.Flag <> ''N''' + #13#10 +
                               'AND LOWER(a.Order_Status)=''confirmed''' + #13#10 +
                               'AND c.Order_Type=N''PO''';
         Parameters.ParamByName('Yarn_Type').Value := vYarn_Type;
         Parameters.ParamByName('Yarn_Count').Value := vYarn_Count; 
         Open;
         Properties['update criteria'].value := 1;
       end;
       Result := true;

  • 相关阅读:
    prototype.js超强的javascript类库
    MySQL Server Architecture
    Know more about RBA redo block address
    MySQL无处不在
    利用Oracle Enterprise Manager Cloud Control 12c创建DataGuard Standby
    LAMP Stack
    9i中DG remote archive可能导致Primary Database挂起
    Oracle数据库升级与补丁
    Oracle为何会发生归档日志archivelog大小远小于联机重做日志online redo log size的情况?
    Oracle Ksplice如何工作?How does Ksplice work?
  • 原文地址:https://www.cnblogs.com/BTag/p/12750848.html
Copyright © 2020-2023  润新知