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

  • 相关阅读:
    SpringCloud学习教程
    Google浏览器插件推荐
    谷歌身份验证器使用
    js控制某个div在页面加载完成5秒后隐藏
    通过城市联动实时将地址显示到text中
    百度地图通过地址查询并且定位
    yii2.0验证码的两种实现方式
    yii2.0 中数据查询中 or、in、between 及session的使用
    Calling unknown method: appmodulesmobilecontrollersCompanyController::redirect()
    页面权限跳转
  • 原文地址:https://www.cnblogs.com/cb168/p/4744458.html
Copyright © 2011-2022 走看看