Ado控件处理多个Recordset数据集

在开发过程运用中,有时候一个ADO控件返回了多个数据集,例如存储过程返回了2个查询结果,如下面处理

------------------PAS文件--------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  recval: _Recordset;
  RecordsAffected: OleVariant;
  iRecordsAffected: Integer;
begin
  with ADOQueryComm do
  begin
    Close;
    SQL.Add(‘SELECT TOP 100 * FROM dbo.fnArtMain ‘);
    SQL.Add(‘SELECT TOP 100 * FROM dbo.fnArtDetail ‘);
    Open;
  end;

//  ADOQuery1.Recordset := ADOQueryComm.Recordset;

//  recval := ADOQueryComm.Recordset;
//  ADOQuery2.Recordset := recval.NextRecordset(RecordsAffected);

ADOQuery2.Recordset := ADOQueryComm.NextRecordset(iRecordsAffected);
end;

-------------------DFM文件---------------------

object Form1: TForm1
  Left = 203
  Top = 150
  Width = 928
  Height = 480
  Caption = ‘Form1‘
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = ‘MS Sans Serif‘
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Panel1: TPanel
    Left = 0
    Top = 0
    Width = 912
    Height = 57
    Align = alTop
    Caption = ‘Panel1‘
    TabOrder = 0
    object Button1: TButton
      Left = 104
      Top = 8
      Width = 161
      Height = 33
      Caption = ‘打开数据集‘
      TabOrder = 0
      OnClick = Button1Click
    end
  end
  object Panel2: TPanel
    Left = 0
    Top = 57
    Width = 912
    Height = 192
    Align = alTop
    Caption = ‘Panel2‘
    TabOrder = 1
    object DBGrid1: TDBGrid
      Left = 1
      Top = 1
      Width = 910
      Height = 190
      Align = alClient
      DataSource = DataSource1
      TabOrder = 0
      TitleFont.Charset = DEFAULT_CHARSET
      TitleFont.Color = clWindowText
      TitleFont.Height = -11
      TitleFont.Name = ‘MS Sans Serif‘
      TitleFont.Style = []
    end
  end
  object Panel3: TPanel
    Left = 0
    Top = 249
    Width = 912
    Height = 193
    Align = alClient
    Caption = ‘Panel3‘
    TabOrder = 2
    object DBGrid2: TDBGrid
      Left = 1
      Top = 1
      Width = 910
      Height = 191
      Align = alClient
      DataSource = DataSource2
      TabOrder = 0
      TitleFont.Charset = DEFAULT_CHARSET
      TitleFont.Color = clWindowText
      TitleFont.Height = -11
      TitleFont.Name = ‘MS Sans Serif‘
      TitleFont.Style = []
    end
  end
  object ADOQuery1: TADOQuery
    Parameters = <>
    Left = 216
    Top = 72
  end
  object DataSource1: TDataSource
    DataSet = ADOQueryComm
    Left = 344
    Top = 80
  end
  object DataSource2: TDataSource
    DataSet = ADOQuery2
    Left = 448
    Top = 224
  end
  object ADOQuery2: TADOQuery
    Parameters = <>
    Left = 344
    Top = 224
  end
  object ADOQueryComm: TADOQuery
    ConnectionString =
      ‘Provider=SQLOLEDB.1;Password=test;Persist Security Info=True;U‘ +
      ‘ser ID=TEST;Initial Catalog=FinishingDB;Data Source=PC‘
    Parameters = <>
    Left = 208
    Top = 144
  end
end


时间: 2024-08-10 02:11:18

Ado控件处理多个Recordset数据集的相关文章

vs2010中的ADO控件及绑定控件

要在项目中添加某一个ActiveX控件,则该ActiveX控件必须要注册.由于VS2010中,并没有自动注册ADO及ADO数据绑定控件(Microsoft ADO Data Control,Microsoft DataCombo等),参考http://msdn.microsoft.com/zh-cn/library/dsb06ab6(v=vs.100).aspx 故没法在插入ActiveX控件对话框中找到它们. 若要在VS2010中获得这种控件,需要另外下载然后注册,或者利用以前的VS版本获得.

vs2005中microsoft ado data control 6.0控件问题

在vs2005中是没有这个控件的,需要注册,步骤如下: 1. 先到C:\WINDOWS\system32目录下看看你的系统里是否已经有了MSADODC.ocx和MSDATGRD.ocx这两个文件(多半是没有的),没有就去下载: 2.在VS 2005中注册MSADODC.ocx和MSDATGRD.ocx这两个控件.在VS 2005中点击"Tools" --> "Visual Studio 2005 Command Prompt",输入如下命令即可: regsvr

delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例

1.TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据.一般情况下,TClientDataSet 控件获取数据的方式主要有 3 种:从本地文件中获取.从本地的另外一个数据集对象中获取以及通过 IAppServer 接口来获取. 2.TDataSetProvider 控件TDataSetProvider 控件基于数据集为应用程序中的其他控件提供数据, 并将对数据的更新传回数据集

ADO面板上的控件简介

ADO面板上的控件简介 一. TADOConnection组件该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等.该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其ConnectionString属性,可以直接连接到数据库.但是如果多个数据集使用相同的数据库连接时,则使用TADOConnection就有一定的优势,因为不必为每个数据集都单独建立数据库的连接,同时也减少了资源的消耗

Delphi ADO数据库控件(转)

ADO面板上的控件简介                                      一. TADOConnection组件该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等.该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其ConnectionString属性,可以直接连接到数据库.但是如果多个数据集使用相同的数据库连接时,则使用TADOConnection就有一定

Delphi7 ADO面板上的控件简介

Delphi7 ADO面板上的控件简介 一. TADO Connection组件 该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等. 该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其Connection String属性,可以直接连接到数据库.但是如果多个数据集使用相同的数据库连接时,则使用TADO Connection就有一定的优势,因为不必为每个数据集都单独建立数据库的连

[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 &amp; 大型控件的ImageField)

[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.com.tw/mis2000lab/archive/2014/05/19/ashx_beginner_05_db_picture_show_download.aspx 根据前面三篇文章的教学 完成后可以做出来  (请您务必依照顺序学习,不要只是找范例来Copy) [.ashx檔?泛型处理程序?]基础入门#1.

RESTClient 控件 从服务器获得数据集 REST

用TRESTClient控件调用REST架构服务 RESTClient控件返回数据集 用到的控件 RESTClient RESTRequest RESTResponseDataSetAdapter procedure Tfrm_Main.btn_DataSet_FetchDataClick(Sender: TObject); begin ResetRESTComponentsToDefaults; RESTResponseDataSetAdapter.Response:= RESTRespons

RESTClient 控件 从服务器获得数据集

RESTClient控件返回数据集 用到的控件 RESTClient RESTResponseDataSetAdapter procedure Tfrm_Main.btn_DataSet_FetchDataClick(Sender: TObject); begin ResetRESTComponentsToDefaults; RESTResponseDataSetAdapter.Response:= RESTResponse; RESTResponseDataSetAdapter.Dataset