procedure TForm1.FormCreate(Sender: TObject);
begin
session.GetDatabaseNames(listbox1.Items);
with stringgrid1 do
begin
cells[0,0]:='Field';
cells[0,6]:='Atr Set';
cells[0,2]:='DataSize';
cells[0,3]:='DataType';
cells[0,4]:='Nullable';
cells[0,5]:='Modifiable';
cells[0,1]:='Fullname';
end;
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
var
i:integer;
begin
if session.Active then
session.Close;
for i:=0 to listbox1.items.count-1 do
begin
if listbox1.Selected[i]
then
begin
session.GetTableNames(listbox1.items.Strings[i],
'*.*',true,true,listbox2.items);
if table1.Active then table1.close;
if query1.Active then query1.close;
query1.DatabaseName:=listbox1.Items.strings[i];
table1.DatabaseName:=listbox1.items.Strings[i];
end;
end;
end;
procedure TForm1.ListBox2DblClick(Sender: TObject);
var
i,j:integer;
begin
with stringgrid1,table1 do
for j:=0 to listbox2.Items.Count-1 do
begin
begin
if listbox2.Selected[j] then
begin
if Active then close;
TableName:=listbox2.items.strings[j];
open;
end;
end;
ColCount:=FieldList.Count+1;
for i:= 0 to FieldList.Count-1 do
begin
Cells[i+1,0]:=FieldList.Fields[i].FieldName;
Cells[i+1,6]:=FieldList.Fields[i].AttributeSet;
cells[i+1,2]:=inttostr(FieldList.Fields[i].datasize);
case FieldList.Fields[i].DataType of
ftUnknown:cells[i+1,3]:='Unknow';
ftString:cells[i+1,3]:='String';
ftSmallint:cells[i+1,3]:='SmallInt';
ftInteger:cells[i+1,3]:='Integer';
ftWord:cells[i+1,3]:='Word';
ftBoolean:cells[i+1,3]:='Boolean';
ftFloat:cells[i+1,3]:='Flaot';
ftCurrency:cells[i+1,3]:='Currency';
ftBCD:cells[i+1,3]:='BCD';
ftDate:cells[i+1,3]:='Date';
ftTime:cells[i+1,3]:='Time';
ftDateTime:cells[i+1,3]:='DateTime';
ftBytes:cells[i+1,3]:='Byte';
ftVarBytes:cells[i+1,3]:='VarBytes';
ftAutoInc:cells[i+1,3]:='AutoInc';
ftBlob:cells[i+1,3]:='Blob';
ftMemo:cells[i+1,3]:='Memo';
ftGraphic:cells[i+1,3]:='Graphic';
ftFmtMemo:cells[i+1,3]:='FmtMemo';
ftParadoxOle:cells[i+1,3]:='ParadoxOle';
ftDBaseOle:cells[i+1,3]:='DBaseOle';
ftTypedBinary:cells[i+1,3]:='TypeBin';
ftCursor:cells[i+1,3]:='Cursor';
ftFixedChar:cells[i+1,3]:='Fixedchar';
ftWideString:cells[i+1,3]:='WideString';
ftLargeint:cells[i+1,3]:='Largeint';
ftADT:cells[i+1,3]:='ADT';
ftArray:cells[i+1,3]:='Array';
ftReference:cells[i+1,3]:='Reference';
ftDataSet:cells[i+1,3]:='DataSet';
else
cells[i+1,3]:='UnknowType';
end;
if fieldlist.Fields[i].Required then
Cells[i+1,4]:='No'
else
cells[i+1,4]:='Yes';
if fieldlist.Fields[i].CanModify then
cells[i+1,5]:='Yes'
else
cells[i+1,5]:='No';
cells[i+1,1]:=fieldlist.Fields[i].FullName;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if query1.Active then query1.close;
query1.SQL:=memo1.Lines;
query1.open;
end;