1、数据过滤Filter使用,查询数据时语句写法使用到格式输出以及字符串加引号问题;
格式输入:sSql=Format(sSql,OPENARRAY(TVarRec,(sItem,sInput)));
字符串加引号:String sInput=AnsiQuotedStr(this->Edsearch->Text, L'\'');
void __fastcall TForm1::cxBtFilterClick(TObject *Sender)
{
DataModule2->FDDianPu->Filtered=false;
DataModule2->FDDianPu->Filter="patientname="+AnsiQuotedStr(this->Edsearch->Text, L'\'');
DataModule2->FDDianPu->Filtered=true;
}
2、SetRange范围的使用
3、数据定位:Locate LocateEx方法详解
Delphi Locate函数[1] - 查询、定位_mob604756ea4c07的技术博客_51CTO博客
void __fastcall TForm1::butlocateClick(TObject *Sender)
{
TLocateOptions Opts;
Opts.Clear();
Opts<<loPartialKey;
DataModule2->FDDianPu->Locate("BLH",this->Edsearch->Text,Opts);
}
原型:
virtual bool __fastcall Locate(const System::UnicodeString AKeyFields, const System::Variant &AKeyValues, Data::Db::TLocateOptions AOptions = Data::Db::TLocateOptions() );
在使用Locate时AOptions中:
如果使用loCaseInsensitive就代表不分大小写查询数据;
如果使用loPartialKey就代表要以模糊查询(部分字符串)来查询数据。
LocateEx方法一:
virtual bool __fastcall LocateEx(const System::UnicodeString AKeyFields, const System::Variant &AKeyValues, TFDDataSetLocateOptions AOptions = TFDDataSetLocateOptions() , System::PInteger ApRecordIndex = (System::PInteger)(0x0));
LocateEx的第一、二个参数与Locate一样,第三个参数扩充,第四个参数回传查到的数据在数据集中的位置;
LocateEx方法二:
virtual bool __fastcall LocateEx(const System::UnicodeString AExpression, TFDDataSetLocateOptions AOptions = TFDDataSetLocateOptions() , System::PInteger ApRecordIndex = (System::PInteger)(0x0))/* overload */;
第一个参数为表达式(String),第二个参数与方法一一样,第三个参数为索引(可以不传)
4、Lookup LookupEx
5、缓存批量更新数据/快储功能
void __fastcall TForm1::butsavaClick(TObject *Sender)
{
DataModule2->FDDianPu->CachedUpdates=true; //打开缓存更新
DataModule2->FDDianPu->ApplyUpdates(); //更新数据
DataModule2->FDDianPu->CommitUpdates(); //清空缓存
}
SavaPoint方法
6、VarArrayOf()用法,返回一个可变动态数组,第一个参数为Varint类型的数组,第个参数为结束的数组索引(从0开始)。
Variant option[4];
option[0]="111";
option[1]="222";
option[2]="333";
option[3]="444";
DataModule2->Tip->Show("",VarListArrayToStr(VarArrayOf(option,3)));
7、DML处理大量数据,TFDQuery组件的创建参数Params,ArraySize为处理的记录条数。
8、排序及索引
可以使用TFDQuery组件的Indexex属性快递创建索引,Name索引名,Fields字段名,Active激活属性。
9、快储更新错误:OnReconcileError