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. adb学习笔记

    一.adb实现原理 adb的目的是想仅在PC端执行adb操作来获取手机里面的文件或向手机内部发送文件.这是通过Ubuntu中adb操作作为客户端与Ubuntu中运行的adb service交互,Ubu ...

  2. leetcode:Longest Common Prefix【Python版】

    1.当strs为空,直接输出“” 2.当strs中含有“”,直接输出“” 3.strs[0]的最长长度由最短公共长度l决定(code line:15) class Solution: # @retur ...

  3. REST与RESTFul API最佳实践

    我经常会面试一些做PHP的开发者,让我很奇怪的是,10个人总有8个多不知道什么是REST服务,甚至是没有听说过.但RESTFul API已经是现在互联网里对外开放接口的主流模式,可参考: 豆瓣API  ...

  4. Source Insight 4 中文乱码的解决办法(source insight 3.5 及以下版本就到其他地方看看吧)

    干货:Source Insight 4 中文乱码的解决办法(source insight 3.5 及以下版本就到其他地方看看吧) [解决办法]: 菜单栏中[File]->[Reload As E ...

  5. RAII vs. exceptions

    析构函数不能抛出异常, 原因 析构函数已经变成了异常处理的一部分 如果对象出了异常,现在异常处理模块为了维护系统对象数据的一致性,避免资源泄漏,有责任释放这个对象的资源,调用对象的析构函数,可现在假如 ...

  6. linux 信号与多线程

    在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同.在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号.它完全是异步的( ...

  7. 跟我一起学Makefile

    概述 什么是makefile?或许很多Winodws程序员都不知道这个东西,因为那些Windows IDE都为你做了这个工作,但我觉得要做一个好的和professional的程序员,makefile还 ...

  8. 异步FIFO跨时钟域亚稳态如何解决?

    跨时钟域的问题:前一篇已经提到要通过比较读写指针来判断产生读空和写满信号,但是读指针是属于读时钟域的,写指针是属于写时钟域的,而异步FIFO的读写时钟域不同,是异步的,要是将读时钟域的读指针与写时钟域 ...

  9. 转!!!解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)

    1.配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径. 2.在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomca ...

  10. document.write覆盖问题

    1.不会覆盖页面: 如果仅仅是一句js语句:document.writeln('<span id=\'span1\'>嗯,你好</span>'); ps:\'是转义字符,代表' ...