Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.03 c
3-1081004186
RayRom
2004-04-03 18:56
2004.04.11
’’ is not a valid integer value


1-1082836866
Sanek_metaller
2004-04-25 00:01
2004.04.11
Особая форма


14-1079155092
Nurali
2004-03-13 08:18
2004.04.11
На TWebBrowser свой PopupMenyu


3-1081521924
Smile)))
2004-04-09 18:45
2004.04.11
Как в DBGRID....


1-1082619455
user_2
2004-04-22 11:37
2004.04.11
MDI form




   Наверх