Re: GetSchemaTable() //Узнать структуру таблицы
От: ilya.buchkin США http://engineering.meta-comm.com/
Дата: 10.08.09 23:37
Оценка: 2 (1)
Здравствуйте, J_K, Вы писали:

J_K>Здравствуйте,

J_K>подскажите, как узнать структуру таблицы. Дано: MS SQLServer, программный интерфейс — .NET 3.5
J_K>Известно имя таблицы, надо получить ее структуру ....

GetSchemaTable()
общая схема
детали — что доступно про колонки

чтобы не читать данных из таблицы (а только структуру), можно запрос типа:
select * from <table-name> where 1 = 2
--
Ilya Buchkin
MetaCommunications Engineering, Iowa City — Санкт-Петербург
Re: Узнать структуру таблицы
От: _d_m_  
Дата: 11.08.09 00:42
Оценка: 2 (1)
Здравствуйте, J_K, Вы писали:

J_K>Здравствуйте,

J_K>подскажите, как узнать структуру таблицы. Дано:
J_K>MS SQLServer,
J_K>программный интерфейс — .NET 3.5
J_K>Известно имя таблицы, надо получить ее структуру в формате Имя поля — Тип, причем желательно, чтобы тип был не просто строка типа "nvarchar(150)", а соответствовал какому-то типу в дотнете, но при этом с указанием длины. Т.е. просто string не катит, надо еще знать, какова длина. Не знаю, с какой стороны подойти. Может быть, кто-нибудь решал уже подобную задачу.
J_K>Спасибо

select
    *
from
    INFORMATION_SCHEMA.COLUMNS
where
    TABLE_NAME = N'имя твоей таблицы'
;
Узнать структуру таблицы
От: J_K  
Дата: 10.08.09 23:22
Оценка:
Здравствуйте,
подскажите, как узнать структуру таблицы. Дано:
MS SQLServer,
программный интерфейс — .NET 3.5
Известно имя таблицы, надо получить ее структуру в формате Имя поля — Тип, причем желательно, чтобы тип был не просто строка типа "nvarchar(150)", а соответствовал какому-то типу в дотнете, но при этом с указанием длины. Т.е. просто string не катит, надо еще знать, какова длина. Не знаю, с какой стороны подойти. Может быть, кто-нибудь решал уже подобную задачу.
Спасибо
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re[2]: GetSchemaTable() //Узнать структуру таблицы
От: J_K  
Дата: 10.08.09 23:52
Оценка:
Здравствуйте, ilya.buchkin, Вы писали:

IB>Здравствуйте, J_K, Вы писали:


J_K>>Здравствуйте,

J_K>>подскажите, как узнать структуру таблицы. Дано: MS SQLServer, программный интерфейс — .NET 3.5
J_K>>Известно имя таблицы, надо получить ее структуру ....

IB>GetSchemaTable()

IB>общая схема
IB>детали &mdash; что доступно про колонки

IB>чтобы не читать данных из таблицы (а только структуру), можно запрос типа:

IB>
IB>select * from <table-name> where 1 = 2
IB>


Спасибо за оперативный ответ, буду разбираться!
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re[2]: Узнать структуру таблицы
От: J_K  
Дата: 11.08.09 07:38
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, J_K, Вы писали:


J_K>>Здравствуйте,

J_K>>подскажите, как узнать структуру таблицы. Дано:
J_K>>MS SQLServer,
J_K>>программный интерфейс — .NET 3.5
J_K>>Известно имя таблицы, надо получить ее структуру в формате Имя поля — Тип, причем желательно, чтобы тип был не просто строка типа "nvarchar(150)", а соответствовал какому-то типу в дотнете, но при этом с указанием длины. Т.е. просто string не катит, надо еще знать, какова длина. Не знаю, с какой стороны подойти. Может быть, кто-нибудь решал уже подобную задачу.
J_K>>Спасибо

___>
___>select
___>    *
___>from
___>    INFORMATION_SCHEMA.COLUMNS
___>where
___>    TABLE_NAME = N'имя твоей таблицы'
___>;
___>


Интересный и очень простой подход. Спасибо.
К предыдущему оратору — подход тоже прост, но мне не нравится обязательно делать выборку, пусть даже которая ничего не выбирает. Но возможно, в ADO.NET есть какие-то другие встроенные механизмы.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.