Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Можно ли узнать количество таблиц у SQL сервера   Найти похожие ветки 

 
__Пупкин   (2005-10-16 11:00) [0]

Т.е. надо прочитать структуры БД: получить имена всех таблиц а в таблица все поля.


 
isasa ©   (2005-10-16 11:17) [1]

Если использовать ADO.
Соединиться, юзаем
function EditConnectionString(Component: TComponent): Boolean;
из
$Delphi$\Source\Property Editors -> AdoConEd.pas

var SourceConnection: TADOConnection;
   tNameBo: TComboBox;
...
 if EditConnectionString(SourceConnection) then begin
   tNameBox.Items.Clear;
   SourceConnection.GetTableNames(tNameBox.Items, false);
...

Поля можно вывести в TListView

procedure TConnForm.FillFieldList;
var mF : TListItem;
   i : integer;
begin
 FieldList.Clear;
 for i:=0 to testTable.FieldCount-1 do begin
   mF:=FieldList.Items.Add;
   mF.Caption:=testTable.Fields[i].FieldName;
   mF.SubItems.Add(DataTypeStr(testTable.Fields[i].DataType));
   mF.SubItems.Add(IntToStr(testTable.Fields[i].DataSize));
 end;
end;

function TConnForm.DataTypeStr(fType : TFieldType) : string;
begin
 case fType of
   ftUnknown:  Result:="Unknown or undetermined";
   ftString:  Result:="Character or string field";
   ftSmallint:  Result:="16-bit integer field";
   ftInteger:  Result:="32-bit integer field";
   ftWord:  Result:="16-bit unsigned integer field";
   ftBoolean:  Result:="Boolean field";
   ftFloat:  Result:="Floating-point numeric field";
   ftCurrency:  Result:="Money field";
   ftBCD:  Result:="Binary-Coded Decimal field that can be converted to Currency type without a loss of precision.";
   ftDate:  Result:="Date field";
   ftTime:  Result:="Time field";
   ftDateTime:  Result:="Date and time field ";
   ftBytes:  Result:="Fixed number of bytes (binary storage)";
   ftVarBytes:  Result:="Variable number of bytes (binary storage)";
   ftAutoInc:  Result:="Auto-incrementing 32-bit integer counter field";
   ftBlob:  Result:="Binary Large OBject field";
   ftMemo:  Result:="Text memo field";
   ftGraphic:  Result:="Bitmap field";
   ftFmtMemo:  Result:="Formatted text memo field";
   ftParadoxOle:  Result:="Paradox OLE field";
   ftDBaseOle:  Result:="dBASE OLE field";
   ftTypedBinary:  Result:="Typed binary field";
   ftCursor:  Result:="Output cursor from an Oracle stored procedure (TParam only)";
   ftFixedChar:  Result:="Fixed character field";
   ftWideString:  Result:="Wide string field";
   ftLargeint:  Result:="Large integer field";
   ftADT:  Result:="Abstract Data Type field";
   ftArray:  Result:="Array field";
   ftReference:  Result:="REF field";
   ftDataSet:  Result:="DataSet field";
   ftOraBlob:  Result:="BLOB fields in Oracle 8 tables";
   ftOraClob:  Result:="CLOB fields in Oracle 8 tables";
   ftVariant:  Result:="Data of unknown or undetermined type";
   ftInterface:  Result:="References to interfaces (IUnknown)";
   ftIDispatch:  Result:="References to IDispatch interfaces";
   ftGuid:  Result:="globally unique identifier (GUID) values";
   ftTimeStamp:  Result:="Date and time field accessed through dbExpress";
   ftFMTBcd:  Result:="Binary-Coded Decimal field that is too large for ftBCD.";
   else
     result:="???";
 end;
end;


 
__Пупкин   (2005-10-16 11:28) [2]

Спасибо. Ты мне помог.



Страницы: 1 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-1131447395
Гамлет
2005-11-08 13:56
2005.11.27
Выложите, пожалуйста, deepbase.gdb


10-1108323176
Ермак
2005-02-13 22:32
2005.11.27
Посоветуйте книжку по COM!


1-1130929466
feel
2005-11-02 14:04
2005.11.27
Кнопка на тулбаре


1-1130843177
keonid
2005-11-01 14:06
2005.11.27
Скроллер в DBGrid не движется


6-1124185391
digger
2005-08-16 13:43
2005.11.27
Таблица маршрутизации