Mega Code Archive

 
Categories / Delphi / ADO Database
 

Bir tablodaki alan sayısının bulunması

Codec By GeNiUS ! genius@turkiye.com Ttable bileşenini kullanarak, bir tablodaki alan sayısının bulunması için TableX.fieldcount Özelliğinden faydalanılabilir. Ancak tablo alanlarının bir kısmı, ttable bileşeni üzerine yüklenmişse fieldcount özelliği sadece yüklenen alan sayısını getirir. Alanları ttable üzerine kısmen yüklenmiş olan bir tablonun, gerçek alan sayısının bulunabilmesi için, aşağıdaki fonksiyon kullanılabilir. Bu kodun kullanılabilmesi için, form üzerine yerleştirileni ttable bileşenine, bağlandığı tablo alanlarının bir kısmı yüklenmelidir. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, DBTables, DbiErrs, DbiTypes, DbiProcs ,bde; type TForm1 = class(TForm) { Alanlar yüklendiğinde, tanımları buraya yerleşecektir. } Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} function GetFieldCount(T: TTable): Integer; var curProp: CURProps; bWasOpen: Boolean; begin Result := 0; {Just in case something goes wrong.} bWasOpen := T.Active; try if not bWasOpen then T.Open; Check(DbiGetCursorProps(T.Handle, curProp)); Result := curProp.iFields; finally if not bWasOpen then T.Close; end; end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage(inttostr(table1.fieldcount)); showmessage(inttostr(GetFieldCount(table1))); end; end.