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