在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
TField对象的SetText和GetText事件处理函数
使用TField对象的SetText和GetText事件处理函数可方便的解决字段的代码与代码所对应值的显示问题
使用TDataset对象的Aggregate属性可以来计算客户端数据集中数据的总计数值、平均值或是计算最大值和最小值。
通过使用TBookMark以及TDataset对象的 BookMark 属性, 要以为当前的纪录设置书签,
例 var bk:TBookMark; begin bk:=ds.GetBookMark; //设置书签 .... ds.GoToBookMark(bk);//回到原来的纪录 ds.FreeBookMark(bk);//释放内存 end;
Locate 与 Lookup 区别:
Locate找到查寻的数据后,它会把目前的记录位置移动到找到的这笔数据上
Lookup找到查寻的数据后,它会回传找到的数据的特定字段数值,却不会移动目前的记录位置。 Lookup方法的第三个参数则是指定当Lookup找到欲查寻的数据之后,要回传这笔数据的那些字段数值。如果开发人员想要Lookup回传多个字段数值,那么每一个字段也是以分号分隔。 至于Lookup方法回传的数值则是第三个字段指定的字段数值,如果Lookup回传多个字段的话,那么这个回传数值就是一个Variant数组,每一个回传的字段便储存在这个Variant数组的元素之中。 例:
影响ClientDataSet处理速度的一个因素 通常情况下我们一般都是用
procedure TForm1.ScanBtnClick(Sender: TObject);
var Found: Boolean; begin Found := False; ClientDataSet1.DisableControls; Start; try ClientDataSet1.First; while not ClientDataSet1.Eof do begin if ClientDataSet1.Fields[FieldListComboBox.ItemIndex].value = SearchText then begin Found := True; Break; end; ClientDataSet1.Next; end; Done; finally ClientDataSet1.EnableControls; end; if Found then ShowMessage(SearchText + ' found at record ' + IntToStr(ClientDataSet1.RecNo)) else ShowMessage(ScanForEdit.Text + ' not found'); end;
procedure TForm1.FindKeyBtnClick(Sender: TObject);
begin Start; if ClientDataSet1.FindKey([SearchText]) then begin Done; StatusBar1.Panels[3].Text := SearchText + ' found at record ' + IntToStr(ClientDataSet1.RecNo); end else begin Done; StatusBar1.Panels[3].Text := SearchText + ' not found'; end; end; procedure TForm1.FindNearestBtnClick(Sender: TObject); begin Start; ClientDataSet1.FindNearest([SearchText]); Done; StatusBar1.Panels[3].Text := 'The nearest match to ' + SearchText + ' found at record ' + IntToStr(ClientDataSet1.RecNo); end
3.Going 定位
procedure TForm1.LocateBtnClick(Sender:TObject);
begin Start; if ClientDataSet1.Locate('Field1,Field2..',VarArrayOf['value1,value2..'], []) then begin Done; StatusBar1.Panels[3].Text := 'Match located at record ' + IntToStr(ClientDataSet1.RecNo); end else begin Done; StatusBar1.Panels[3].Text := 'No match located'; end; end;
var
sFields : String; vResult : Variant; iCount : Integer; begin vResult := ds.Lookup('fieldnameA, fieldnameB' , VarArrayCreate([ValueA, ValueB], varVariant), 'fieldname1, fieldname2'); if (VarIsArray(vResult)) then begin sFields := ''; for iCount := VarArrayLowBound(vResult, 1) to VarArrayHighBound(vResult, 1) do begin sFields := sFields + ';' + vResult[iCount]; end; end else edtReturn.Text := vResult; end;
var
R: integer begin with ADOQuery do begin Close; SQL.Text := 'EXEC sp_helpconstraint ' + ableName; Open; R := 0; Recordset := NextRecordSet(R); {do something } end |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论