zoukankan      html  css  js  c++  java
  • TDBXCommand TDBXReader

    TDBXCommand  *cmd;

    cmd= FDBXConnection->CreateCommand();

    cmd->CommandType=TDBXCommandTypes_DSServerMethod;

    FFindDataSetCommand->Text = "TServerMethods1.FindDataSet";

    cmd->Parameters->Parameter[0]->Value->GetDBXReader();

    cmd->ExecuteUpdate();

    if (FInstanceOwner)
        cmd->FreeOnExecute(result);

    FreeOnExecute registers the object indicated by Value, and frees it the next time the command is executed, closed, or freed.

    #define TDBXCommandTypes_DbxSQL L"Dbx.SQL"
    #define TDBXCommandTypes_DbxStoredProcedure L"Dbx.StoredProcedure"
    #define TDBXCommandTypes_DbxTable L"Dbx.Table"
    #define TDBXCommandTypes_DbxMetaData L"Dbx.MetaData"
    #define TDBXCommandTypes_DbxCommand L"Dbx.Command"
    #define TDBXCommandTypes_DbxPool L"Dbx.Pool"
    #define TDBXCommandTypes_DSServerMethod L"DataSnap.ServerMethod"

    TDBXWritableValue* Value;
    Value->GetDBXReader();

    TDBXReader *reader;
    reader =Value->GetDBXReader(); 

    reader= cmd->ExecuteQuery();

    TDBXCommand instances can be created by calling one of the TDBXConnection.CreateCommandmethods. As soon as an application is finished using a command, the TDBXCommand.Free method must be called. This releases memory for the command and any associated resources. 

    TDBXCommand 应用程序会释放内存,内存释放问题泄露问题也不用担心了!

    TDBXReader provides a unidirectional reader for a collection of database rows.

    TDBXReader provides a forward only reader for a collection of database rows.

    TDBXReader is returned by TDBXCommand.ExecuteQuery. Call TDBXReader.Next to access the first and successive rows in the collection. Row values can be accessed using the Value array property. Value is overloaded so it can be indexed either by ordinal position or by column name.

    Note: When an application no longer needs a TDBXReader instance, it should call TDBXReader.Free. This ensures that all resources associated with the TDBXReader are released.

    可见TDBXReader 比较简单,单向数据集,只有Next方法,没有Prior()方法,没有RecordCount属性。

    并且当应用程序不再使用该实例时会自己释放内存这点比较强。解决了内存释放泄露的问题。

    做c++builder不用再担心内存释放的问题了。

  • 相关阅读:
    模拟道路交通简单练习(类)
    printf 格式化输出符号
    ffplay源码分析01 ---- 框架
    RTSP协议
    SRS流媒体服务器03 ---- st-thread
    生成aac sdp文件
    生成h264 sdp文件
    RTP分包解包 ---- H264
    RTP协议
    SRS流媒体服务器02 ---- 文件框架
  • 原文地址:https://www.cnblogs.com/cb168/p/4744458.html
Copyright © 2011-2022 走看看