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

Вниз

Description MS SQL -> Delphi DBGRID   Найти похожие ветки 

 
bolt   (2007-01-04 13:11) [0]

Всем ПРИВЕТ!!
На днях сталкнулся с такой проблемкой, может кто что посоветует:
MS SQL + ADO
При создании таблицы в MS SQL у каждого поля есть такая вещь как Description, интересно МОЖНО ЛИ в DBGrid в имя заголовка столбца грузить етот самый Description из MS SQL?
Всем СПАСИБО и ДОСТОЙНОЙ ПРИБЫЛИ в НОВОМ ГОДУ!


 
Johnmen ©   (2007-01-04 13:21) [1]

DBGrid.Columns[x].Title:=етот самый Description из MS SQL


 
bolt   (2007-01-04 13:27) [2]

: ))
Наверное я немного не правильно задал вопрос!
DBGrid.Columns[x].Title:= это понятно, вопрос в том что должно стоять после =, то есть как из Delphi обратиться к Description  поля id, таблицы Base, вот в чем ВОПРОС?


 
Johnmen ©   (2007-01-04 14:47) [3]

http://sql.ru/forum/actualthread.aspx?bid=1&tid=365397


 
bolt   (2007-01-04 15:01) [4]

Спасибо!


 
CoolLamer   (2007-01-07 14:48) [5]

SELECT objname, [value] as description
FROM ::::fn_listextendedproperty (NULL, "user", "dbo", "table", "ЗДЕСЬ ИМЯ ТАБЛИЦЫ", "column", NULL)


 
MsGuns ©   (2007-01-07 18:26) [6]

type

 // Дескриптор SQL-сервера
 PMSSQLServerDef = ^RMSSQLServerDef;
 RMSSQLServerDef = record
   ServerName: string;          // Имя сервера
   InstanceName: string;        // Установочный ид-р сервера
   IsClustered: boolean;        // Флаг включения в серверный кластер
   Version: RSQLServerVersion;  // Версия сервера
   Port: integer;               // Коммуникационный порт
   Path: string;                // Путь к серверу в сети
 end;

 // Дескриптор SQL колонки (поля)
 PSQLFieldDef = ^RSQLFieldDef;
 RSQLFieldDef = record
   FldName: string;
   PKey: boolean;
   AInc: boolean;
   IsNULL: boolean;
   FldType: string;
   FType: TFieldType;
   Length: word;
   Scale: byte;
   Description: string;
 end;

// Определение списка полей таблицы базы данных сервера MS SQL Server
function SQLServ_GetTableFieldsList(SQLServer: PMSSQLServerDef; DataBase,TableName: string; ListFields: TList): boolean;
var
 i: integer;
 fd: PSQLFieldDef;

begin
 result := false;
 for i := 0 to ListFields.Count-1 do Dispose(PSQLFieldDef(ListFields[i]));
 ListFields.Clear;
 with TADODataSet.Create(nil) do
   try
    ConnectionString := "Provider=SQLOLEDB;"+
                       ";Persist Security Info=false"+
                       ";User ID=sa"+
                       ";Data Source="+SQLServer.ServerName;
    CommandText := "use "+DataBase+" Exec sp_columns "+TableName;
    Open;
    while not EOF do
      begin
       fd := NEW(PSQLFieldDef);
       fd.FldName := FieldByName("COLUMN_NAME").AsString;
       fd.PKey := false;
       fd.FldType := FieldByName("TYPE_NAME").AsString;
       fd.AInc := (Pos("IDENTITY",UpperCase(fd.FldType))>0);
       fd.IsNULL := (FieldByName("IS_NULLABLE").AsString="YES");
       fd.Length := StrToInt(FieldByName("LENGTH").AsString);
       fd.Scale := 0;
       if UpperCase(fd.FldType)="NUMERIC" then
          fd.Scale := StrToInt(FieldByName("SCALE").AsString);
       fd.Description := "No Description";
       ListFields.Add(fd);
       Next;
      end;
    Close;
    // Извлечение описателей
    CommandText := "use "+DataBase+" select sc.name, sp.value "+
                   "from sysobjects so, syscolumns sc, sysproperties sp "+
                   "where so.id=sc.id and so.id=sp.id and "+
                   "sp.smallid=sc.colorder and so.name="+QuotedStr(TableName);
    Open;
    for i := 0 to ListFields.Count-1 do
      if Locate(Fields[0].FieldName,PSQLFieldDef(ListFields[i]).FldName,[]) then
         PSQLFieldDef(ListFields[i]).Description := Fields[1].AsString;
    Close;
    result := true;
   finally
    Free;
   end;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.029 c
1-1170534006
Express
2007-02-03 23:20
2007.03.25
Как перехватить сообщение об открытие MDI-формы??


15-1173008259
Суслик
2007-03-04 14:37
2007.03.25
Посоветуйте blog


1-1170245684
alexey_mas
2007-01-31 15:14
2007.03.25
помогите с обработкой события в run-time


4-1162877920
Yevgeny
2006-11-07 08:38
2007.03.25
как запустить bat-файл из службы?


15-1172501155
Германн
2007-02-26 17:45
2007.03.25
Бабуины, бабуины. Вот шимпанзе - это да!