代码将导致 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;
本文出自 “畅想天空” 博客,请务必保留此出处http://kinwar.blog.51cto.com/3723399/1686710
原文地址:http://kinwar.blog.51cto.com/3723399/1686710