Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL - обращение к полю по его имени [D6, MSSQL]


TopLodger ©   (2004-03-10 18:19:00) 

Здравствуйте. Подскажите, пожалуйста, можно ли в SQL-запросе использовать что-то такое типа FieldByName('FieldName2') дельфовского. В общем, обращаться к какому-нибудь полю через переменную, в которой храниться имя поля, а не обычное 'SELECT FieldName2FROM myTable'.


TopLodger   (2004-03-11 11:02:00) [1]

2 SergSuper
Так оно в принципе и есть. На сегодняшний момент нет возможности переделать структуры, но выход из создавшегося положения с помощью вышеуказанного решения ИМХО достаточно грамотный.


SergSuper   (2004-03-11 10:33:00) [2]

2 TopLodger
Такие желания обычно возникают при неправильно спроектированной БД


TopLodger   (2004-03-11 09:55:00) [3]

4 ZrenBy Спасибо большое!


ZrenBy   (2004-03-10 21:18:00) [4]

use pubs

declare @Field nvarchar(100) set @Field='au_id'
declare @SQL   nvarchar(4000)

set @SQL = 'select '+@Field+' from authors'

exec sp_executesql @SQL


И еще
http://www.sql.ru/faq/faq_topic.aspx?fid=104


panov   (2004-03-10 20:10:00) [5]

var
 FName: String;
 Res: String;
begin
 FName := 'FieldName2';
 Query1.SQL.TExt := 'SELECT '+FName+' FROM MyTable';
 Query.Open;
 Res := Query1.FieldByName(FName).AsString;


TopLodger   (2004-03-10 19:51:00) [6]

Как после обычного? Есть необходимость так оформить запрос:

DECLARE @FieldName varchar(10)
SET @FieldName = 'FieldName2'

SELECT FieldByName(@FieldName)
FROM myTable

Вот я и спрашиваю - есть ли эквивалент FieldByNameв SQL?


Mike Kouzmine   (2004-03-10 19:46:00) [7]

Можно. После обычного 'SELECT FieldName2 FROM myTable'.


Наверх

Титульная страница Поиск, карта сайта Написать письмо