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

Вниз

select и создание поля   Найти похожие ветки 

 
GIL ©   (2004-03-15 11:44) [0]

кто-нибудь подскажите как в запросе select создать поле приблизительно по следующей формуле: select family,name_,otch,fio=family+" "+name_+" "+otch from ...
нужное поле - fio


 
Johnmen ©   (2004-03-15 11:51) [1]

family||name_||otch AS fio


 
GIL ©   (2004-03-15 11:52) [2]

ща попробуем


 
GIL ©   (2004-03-15 11:54) [3]

запрос прошел, но при обращении к полю пишет, что поле не найдено
field:="FIO";
....
List.Add(FieldByName(field));


 
Johnmen ©   (2004-03-15 11:55) [4]

>List.Add(FieldByName(field));

Это что ?


 
GIL ©   (2004-03-15 11:57) [5]

это добавление значения поля в список, немного описался, List.Add(FieldByName(field).AsString);


 
Vlad ©   (2004-03-15 12:09) [6]


> GIL ©   (15.03.04 11:57) [5]

Я может чего не понял, но ИМХО, не стоит переменным давать имена "List" и "Field".
А вобще приведи полный код процедуры, а то ничего не понятно.

P.S. Что с любимым форумом ? (c)


 
GIL ©   (2004-03-15 12:13) [7]

привожу полный код:
procedure Listing(QR:TIBQuery;List:TStringList;SQLSelect,Field:String);
begin
 List:=TStringList.Create;
 with QR do begin
  Active:=False;
  SQL.Clear;
  SQL.Add("select name_ from name_ where deleted=""N""");
  Active:=True;
  First;
  if not IsEmpty then
   while not Eof do begin
    List.Add(FieldByName(Field).AsString);
    Next;
   end;
 end;
 List.Sorted:=True;
end;
ошибка выдается правильная, в том плане, что он пишет что не находит имеено то, что я "искал"
P.S. Не знаю.


 
GIL ©   (2004-03-15 12:14) [8]

сорри вот теперь я увидел, в чем прикол


 
GIL ©   (2004-03-15 12:16) [9]

процедура должна выглядеть вот так:
procedure Listing(QR:TIBQuery;List:TStringList;SQLSelect,Field:String);
begin
 List:=TStringList.Create;
 with QR do begin
  Active:=False;
  SQL.Clear;
  SQL.Add(SQLSelect);
  Active:=True;
  First;
  if not IsEmpty then
   while not Eof do begin
    List.Add(FieldByName(Field).AsString);
    Next;
   end;
 end;
 List.Sorted:=True;
end;
но теперь он выдает ошибку на | |


 
Соловьев ©   (2004-03-15 12:19) [10]

Имхо это правельнее:
Database.GetFieldNames( TableName, StringList.Items );


 
GIL ©   (2004-03-15 12:21) [11]

не, тогда правильнее будет, просто посмотреть, есть-ли это поле или его нет, носмысла это не меняет


 
GIL ©   (2004-03-15 12:23) [12]

все заработало!! спасибо!! просто запятую не поставил!!
P.S. Будьте внимательнее!!!
(Ко мне это относится в первую очередь!!8)


 
Vlad ©   (2004-03-15 12:23) [13]


> GIL ©   (15.03.04 12:14) [8]
> сорри вот теперь я увидел, в чем прикол

Потому и говорят - в правильно поставленном вопросе заложено 90% ответа :-)


> но теперь он выдает ошибку на | |

Пробела быть не должно, т.е. вот так: ||
Напиши перед Active:=true строчку showmessage(QR.Sql.Text), и посмотри, возможно ты не правильно формируешь запрос


> Соловьев ©   (15.03.04 12:19) [10]

Так мы получим список полей, а не их значений


 
Соловьев ©   (2004-03-15 12:24) [14]

SQLSelect - что там?


 
Соловьев ©   (2004-03-15 12:25) [15]

2 Vlad ©
ага, то я прогнал - думал ему список полей надо...


 
GIL ©   (2004-03-15 12:28) [16]

там select family,name_,otch, family||name_||otch AS fio from manager m,family f,otch o,name_ n where (m.id_family=f.id)and(m.id_name_=n.id)and(m.id_otch=o.id)and(m.deleted=""N""


 
Zacho ©   (2004-03-15 12:35) [17]

Хочешь хороший совет ?
В запросе из нескольких таблиц всегда указывай аласы полей, т.е.: select f.family,n.name_, ..


 
GIL ©   (2004-03-15 12:39) [18]

спасибо


 
Johnmen ©   (2004-03-15 13:12) [19]

>Zacho ©   (15.03.04 12:35) [17]

Наверное, имелось в виду алиасы таблиц...:)


 
Zacho ©   (2004-03-15 13:14) [20]


> Johnmen ©  

Естественно.. :)



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

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

Наверх




Память: 0.51 MB
Время: 0.069 c
3-1081430583
CJ
2004-04-08 17:23
2004.04.11
MIDAS, applyupdates


1-1080141740
BJValentine
2004-03-24 18:22
2004.04.11
Кодировка DOS --> Windows


1-1082614293
Draught
2004-04-22 10:11
2004.04.11
Реакция TEdit на нажание клавиш


14-1079499898
Рамиль
2004-03-17 08:04
2004.04.11
Если вам не хватает объема винта...


14-1082114999
Serrrrg
2004-04-16 15:29
2004.04.11
Есть ли какая-нибудь программа, сторящая деревья вызовов