Форум: "Базы";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.064 c