ADOQuery1.Open ExecSQL 内部区别

function TADOQuery.ExecSQL: Integer;
begin
  InitializeMasterFields(Self);
  Command.Execute(FRowsAffected, EmptyParam);
  Result := FRowsAffected;
end;

ADOQuery1.Open
ADOQuery1.ExecSQL;

d:\program files\borland\delphi7\source\vcl\adodb.pas

 

function TADOQuery.ExecSQL: Integer;
begin
  InitializeMasterFields(Self);
  Command.Execute(FRowsAffected, EmptyParam);
  Result := FRowsAffected;
end;

 

procedure TCustomADODataSet.OpenCursor(InfoQuery: Boolean);

 var
  VarRecsAffected: OleVariant;
begin
  if not Assigned(Recordset) then
  begin
    InitializeConnection;
    InitializeRecordset;
    Recordset.Open(Source, ActiveConnection,
      CursorTypeValues[FCursorType], LockTypeValues[FLockType],
      Integer(CommandTypeValues[CommandType]) + ExecuteOptionsToOrd(ExecuteOptions));
    while Recordset.State = adStateClosed do
    try
      FRecordsetObject := Recordset.NextRecordset(VarRecsAffected);
      if Recordset = nil then Abort;
    except
      DatabaseError(SNoResultSet, Self);
    end;
  end else
    EnableEvents;
  if (eoAsyncExecute in ExecuteOptions) and ((Recordset.State and adStateExecuting) <> 0) then
    SetState(dsOpening);
  inherited OpenCursor(False);
end;

function TCustomADODataSet.NextRecordset(
  var RecordsAffected: Integer): _Recordset;
var
  VarRecsAffected: OleVariant;
begin
  CheckBrowseMode;
  Result := RecordSet.NextRecordSet(VarRecsAffected);
  RecordsAffected := VarRecsAffected;
end;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值