powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Арифметические действия с параметрами в SQL Delphi
5 сообщений из 5, страница 1 из 1
Арифметические действия с параметрами в SQL Delphi
    #32076404
M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
M
Гость
Выполняю запрос с параметрами, например в таблице есть колонки aaa,bbb,ccc

С формы в запрос передаем параметры:
Код: plaintext
1.
Query1.ParamByName('p1').AsFloat:=StrToFloat(Edit1.Text)
Query1.ParamByName('p2').AsFloat:=StrToFloat(Edit2.Text)


Код: plaintext
1.
SELECT aaa, bbb, (:p1 * ccc) AS ddd
FROM table.db

Так работает (умножает). Работает и когда деление ставим.

Код: plaintext
1.
SELECT aaa, bbb, (:p1 + ccc) AS ddd
FROM table.db

А вот со сложением и вычитанием не работает.

В чем косяк?
...
Рейтинг: 0 / 0
Арифметические действия с параметрами в SQL Delphi
    #32076434
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на что конкретно прога ругается? Сообщение об ошибке?
А что в профилере видно?

А если так?

Код: plaintext
1.
SELECT aaa, bbb, (convert(float,:p1) + ccc) AS ddd
FROM table.db
...
Рейтинг: 0 / 0
Арифметические действия с параметрами в SQL Delphi
    #32076439
M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
M
Гость
Спасибо, вариант с convert не сработал. Но это натолкнуло меня на мысль выполнить CAST-преобразование параметров. Это решило проблему.

Теперь это выглядит так:
Код: plaintext
1.
SELECT aaa, bbb, (CAST(:p1 AS Float) + ccc) AS ddd
FROM table.db
...
Рейтинг: 0 / 0
Арифметические действия с параметрами в SQL Delphi
    #32076450
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и хорошо. Но все таки любопытно, из-за чего это было? Если не в лом, ответьте на первые два вопроса.
...
Рейтинг: 0 / 0
Арифметические действия с параметрами в SQL Delphi
    #32076524
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык тут и без ответов понятно, что было - параметрам типы то не заданы.

Поэтому он и хотел к строке прибавить число.
А когда умножал - понимал, что строку не умножишь, поэтому конвертил сам
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Арифметические действия с параметрами в SQL Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]