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不用再担心内存释放的问题了。

  • 相关阅读:
    mysql索引的选择
    A、B两个线程交替打印1 -- 100
    dubbo服务暴露
    1
    java无锁化编程一:目录
    如何实现自定义同步组件
    服务器的性能监控
    关于shiro安全框架实现同一用户同一时刻仅可在一个地址登录的技术实现
    关于Spring的Quartz定时器设定
    JAVA之Mybatis基础入门二 -- 新增、更新、删除
  • 原文地址:https://www.cnblogs.com/cb168/p/4744458.html
Copyright © 2011-2022 走看看