![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Существует такой запрос:
Код:
select PName, Cname, citX,citY from cities left join players on players.PID=cities.PID where (citX-:citX)*(citX-:citX)+(citY-:citY)*(citY-:citY) = (SELECT min((citX-:citX)*(citX-:citX)+(citY-:citY)*(citY-:citY)) from cities where PID<>:PID) |
#2
|
||||
|
||||
![]() Цитата:
Ты делай ParamByName и будут заменены все параметры! --------------------------------------------- Программирование - не профессия, а стиль жизни |
#3
|
|||
|
|||
![]() Не согласен, в случае ParamByName как и в случае ParamValues значение присваивается первому параметру с таким именем. Проверял поиндексно.
Пока присваиваю значения по индексам принимая параметры за отдельные, вроде работает. Как только проставляю значения по именам запрос результатов не выдает. В принципе на данном этапе программирования мне это не очень мешает (правд нарушает эстетический вид кода), но в будущем мне интересно как из подобных ситуаций выбираться (вдруг в запросе параметр будет повторяться не 8 а 80 раз, маловероятно но всеж) |
#4
|
||||
|
||||
![]() Цитата:
Ну тогда вместо параметров: Код:
const CONST_SQL_SELECT = 'SELECT * FROM cars c LEFT JOIN cars_types ct ON ct.id = c.cartype WHERE c.style = %style% or ct.style = %style%'; begin .. setSelect.SQL.Text := CONST_SQL_SELECT; setSelect.SQL.Text := AnsiReplaceStr(setSelect.SQL.Text, '%style%', 1); setSelect.Open(); .. end; - ok --------------------------------------------- Программирование - не профессия, а стиль жизни |
#5
|
|||
|
|||
![]() хмм красиво)))
|