FDQuery

FDQuery1->ChangeCount;也有UpdatesPending属性
 FDQuery1->ApplyUpdates()

ExecSQL('select * from t where id=:?',[100]);

FDQuery1->Table->Rows[2].Free();
 FDQuery1->UpdateCursorPos();
 FDQuery1->Resync(TResyncMode());

FDQuery1->FetchAll();

FDQuery1->Open("select * from t")

FDQuery1->Open("select * from t where id=?",[100]);

FDQuery1->OpenOrExecute()

FDQuery.Constraints.Add.CustomConstraint := 'FIELD_NAME > 1';
FDQuery.UpdateConstraints;
FDQuery.Table.Constraints.Check(FDQuery.GetRow(), rsModified, ctAtEditEnd);

隐藏当前行

FDQuery1->UpdateCursorPos();
 FDQuery1->GetRow()->Free();
 FDQuery1->Resync(TResyncMode());
 FDQuery1->UpdateCursorPos();

增强的Locate功能LocateEx、LookupEx函数

lxoCheckOnly  If included, then LocateEx does not:

Change the current position. Fire BeforeScroll / AfterScroll events. Finish editing mode.

FDQuery1.Data;

FDMemTable2.Data := FDQuery1.Data;

Delta

ADMemTable1.FilterChanges := [rtModified, rtInserted, rtDeleted];
ADMemTable1.Data := ADQuery1.Delta;

FilteredData

Represents the currently visible dataset data.

FDQuery1.SavePoint 还原点

var
iSavePoint: Integer;
....
// remember changes log state
iSavePoint := FDMemTable1.SavePoint;
try
FDMemTable1.AppendRecord(....);
FDMemTable1.AppendRecord(....);
FDMemTable1.AppendRecord(....);
...
FDMemTable1.Delete;
// mark changes as persistent and clear change log
FDMemTable1.CommitUpdates;
except
// in case of exception, undo changes
FDMemTable1.SavePoint := iSavePoint;
raise;
end;

FDQuery1.SourceView

var
i, iVal, iMax: Integer;
....
// searching the maximum value of ID integer field, without navigating through dataset
iMax := ;
for i := to FDQuery1.SourceView.Rows.Count - do
if FDQuery1.SourceView.Rows[i].GetData('id', @iVal) and (iVal > iMax) then
iMax := iVal;

FDQuery1.Table

// delete all rows, where ID = 100, without navigating through dataset
for i := FDQuery1.Table.Rows.Count - downto do
if FDQuery1.Table.Rows[i].GetData('id') = then
FDQuery1.Table.Rows[i].Delete;
FDQuery1.Resync([]);

强大的功能来了,FDQuery提供了遍历数据集,而不移动当前记录指针的功能。这是ADOQuery、BDEQuery一直没有的功能!!这样和.net的DataSet有的一拼。

 for (int i = ; i < FDQuery1->RecordCount; i++)
{
Caption = FDQuery1->Table->Rows->ItemsI[i]->GetData("id");
}

取得当前记录的前一条和后一条的数据。

FDQuery1->Table->Rows->ItemsI[FDQuery1->RecNo - 2]->GetData("id");
 FDQuery1->Table->Rows->ItemsI[FDQuery1->RecNo]->GetData("id");

AbortJob

AttachTable

CopyDataSet

CopyFields

CopyRecord

EmptyDataSet

EmptyView

FDQuery1.BeginBatch;
FDQuery1.EndBatch;
ExecSQL

FetchBlobs

FetchDetails

GetDetailDataSets(System::Generics::Collections::TList__1<TDataSet*>* List);

GetNextPacket

GetParentRow

GetResults

IsSequenced

NextRecordSet

Reconcile

RefreshRecord

RevertRecord

Resync

UpdateRecord

FireDACQuery FDQuery New的更多相关文章

  1. fdquery update

    fdquery  update this->FDQuery1->CachedUpdates; this->FDQuery1->UpdateOptions->KeyFiel ...

  2. FDQuery 怎么能插入NULL参数

    [FireDAC][Phys][MSSQL]-335. Parameter [fieldAA] data type is unknown. Hint: specify TFDParam.DataTyp ...

  3. FireDAC FDQuery

    http://docwiki.embarcadero.com/RADStudio/XE6/en/TFDMemTable_Questions#Q:_How_can_I_copy_all_records_ ...

  4. FDQuery sqlserver 临时表

    用FDQuery执行创建临时表,查不到临时表,用ADOQuery和BDEQuery均正常,比较发现用ADOQuery执行的时候只有SQL没有调用sql的系统存储过程sp_prepexec. 是fdqu ...

  5. ClientDataSet + DataSetProvider + FDQuery 的bug

    ClientDataSet + DataSetProvider  +FDQuery 有 bug ClientDataSet + DataSetProvider  +ADOQuery正常. Client ...

  6. FDQuery Out of memory

    4万行记录 FDQuery查询 Out of memory sql server 可以查询成功 First chance exception at $7505D722. Exception class ...

  7. 利用QJSON将FDQuery转成JSON串

    服务器要支持Http协议,打算采用Http+JSON的方式来交换数据.一开始考虑使用superobject,因为以前使用比较多,比较熟悉. 代码如下: class function FDQueryTo ...

  8. FDQuery多表更新生成sql语句的问题

    query.sql='select  a,b,c,d,e from a,b,c where ....'; 来源3个表, 设计时添加字段列表,每个字段有Origin属性 分别是a.a,b.b,c.c格式 ...

  9. uniGUI之FDQuery(28)

    1]基本设置FDQuery1.Connection2]执行查询SQL语句3]执行 非查询SQL语句4]返回所有数据 和所有 列名 1]基本设置FDQuery1.Connection 一定要 放一个   ...

随机推荐

  1. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo

    在上一篇里,我已经建立了一个简单的Web-Demo应用程序.这一篇将记录将此Demo程序改造成一个Web Api应用程序. 一.添加ASP.NET Core MVC包 1. 在project.json ...

  2. JavaWeb学习总结(二)-修改Tomcat服务器的端口(半年之后再总结)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件(hibernate.cfg.xml是核心配置文件). 如果想修改Tom ...

  3. Linux驱动中常用的宏

    .module_i2c_driver(adxl34x_driver)展开为 static int __int adxl34x_driver_init(void) { return i2c_regist ...

  4. Understanding Safari Reader

    Interesting enough to find out the Reader function in Safari is actually Javascript and there are ma ...

  5. kettle--变量的使用

    一.kettle的inner join 需求: 目前本地文件系统上有一个person.csv文件: 数据库中有一个person表: 现在需要将这两张表做inner join的操作. 1.1首先我们写一 ...

  6. JS 网页快捷键设置

    我们希望能用快捷键代替鼠标点击做一些事情,例如一个典型的应用就是论坛上常用的Ctrl + Enter 快捷发帖子.就以Ctrl+Enter快捷发帖子为例,实质上呢,就是通过JS脚本,捕获系统的onke ...

  7. MHA之Binlog Dump (GTID)僵尸进程清理

      master存活的状态下切换 masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_mas ...

  8. Centos下zookeeper的安装配置

    下载安装包,下载地址 http://zookeeper.apache.org/releases.html,我下载的版本是zookeeper-3.4.9.tar.gz. # tar xvzf zooke ...

  9. Anaconda 使用(解决python包管理与环境管理)

    Anaconda完全入门指南(对python环境和原理,讲的比较透彻):https://www.jianshu.com/p/eaee1fadc1e9 用pip一个一个安装第三方库费时费力,还需要考虑兼 ...

  10. JS 获取时间

    function CurentTime() { var now = new Date(); var year = now.getFullYear(); //年 var month = now.getM ...