Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

Можно ли узнать количество таблиц у 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
1-1130933195
s_t_d
2005-11-02 15:06
2005.11.27
QReport в Delphi-7


4-1127507670
miek
2005-09-24 00:34
2005.11.27
мета-имена Windows


14-1130852255
Layner
2005-11-01 16:37
2005.11.27
Утилита сравнивающая 2 БД Access, очень нужна


1-1130935984
BobbyDigital
2005-11-02 15:53
2005.11.27
Полосы прокрутки в Combobox


14-1131473629
DillerXX
2005-11-08 21:13
2005.11.27
Бригада





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский