Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при передаче параметра в запрос


Страницы:   1 2

vitv ©   (2007-04-23 11:16:00) 

при передаче параметра в запрос происходит ошибка:
arithmetic exception, numeric overflow, or string truncation


vitv   (2007-04-24 14:07:00) [1]

СПАСИБО ВСЕМ ЗА ПОМОЩЬ!!!

> Desdechado ©   (24.04.07 12:37) [28]
> http://www.ibase.ru/devinfo/ibrusfaq.htm

;)


Desdechado   (2007-04-24 12:37:00) [2]

http://www.ibase.ru/devinfo/ibrusfaq.htm


vitv   (2007-04-24 11:49:00) [3]

Разобрался с этим, но всплыла и другая проблема:
(SELECT count(RV1.otvet)
FROM rezultati1vopros RV1
WHERE RV1.SEANS=RV.seans and
RV1.rezvopros=rv.rezvopros and
RV1.FAKULTET like:f1 and

RV1.otvet like 'Правильно'),-в ибэксперте выполняется,
но в IBQuery- arithmetic exception, numeric overflow, or string truncation,
lc_ctype=1251-прописываю, bad patameters on attach or create database
CHARACTER SET 1251 is not defined


vitv   (2007-04-23 15:10:00) [4]

Я ПОНЯЛ В ЧЁМ ДЕЛО!!!
Дело в операции деления. Т.е. когда результат запроса делим на результат второго запроса, то :(


vitv   (2007-04-23 14:55:00) [5]


> > Куда like понаставил к числовым полям? Или FireBird 1.
> 5.> 1 уже так далеко от народа? Оказываеися и MS SQL давно
> уже > там. А мы всё привыкли к явному и корректному приведению
> > типов :)А если значение не передаётся параметру, то как
> быть.Если =,то на % ругается.

Возможно это реализовать по-другому?


vitv   (2007-04-23 14:28:00) [6]

То же самое....Я в шоке.


DrPass   (2007-04-23 13:19:00) [7]


> ПРОВЕРИЛ! ТАМ ЭТОТ ПАРАМЕТР СТОЯЛ!!!

Тогда наоборот, убери :)


vitv   (2007-04-23 13:01:00) [8]


> vitv ©   (23.04.07 12:54) [21]
> > > у меня ibexpertА причем тут IBExpert? Ты запрос в программе
> > выполняешь? Вот в программе в параметрах базы и надо указать.
> > В параметрах  IBDatabase прописать?

ПРОВЕРИЛ! ТАМ ЭТОТ ПАРАМЕТР СТОЯЛ!!!


vitv   (2007-04-23 12:54:00) [9]


> > у меня ibexpertА причем тут IBExpert? Ты запрос в программе
> выполняешь? Вот в программе в параметрах базы и надо указать.
>

В параметрах  IBDatabase прописать?


DrPass   (2007-04-23 12:47:00) [10]


> у меня ibexpert

А причем тут IBExpert? Ты запрос в программе выполняешь? Вот в программе в параметрах базы и надо указать.


vitv   (2007-04-23 12:47:00) [11]


> Куда like понаставил к числовым полям? Или FireBird 1.5.
> 1 уже так далеко от народа? Оказываеися и MS SQL давно уже
> там. А мы всё привыкли к явному и корректному приведению
> типов :)

А если значение не передаётся параметру, то как быть.
Если =,то на % ругается.


vitv   (2007-04-23 12:39:00) [12]

у меня ibexpert. В параметрах базы только кодировка и набор символов экранного шрифта.


ЮЮ   (2007-04-23 12:39:00) [13]

Куда like понаставил к числовым полям? Или FireBird 1.5.1 уже так далеко от народа?

Оказываеися и MS SQL давно уже там. А мы всё привыкли к явному и корректному приведению типов :)


Desdechado   (2007-04-23 12:31:00) [14]

В параметрах подключения.


vitv   (2007-04-23 12:30:00) [15]


> Готов поспорить, он указал кодировку Win1251 при создании
> базы, и не указал lc_ctype=1251 при подключении к нейПоднимаю
> ставку.Готов поспорить, что сама ошибка не из за при передаче
> параметра в запрос :)

lc_ctype=1251-а где это указывается?


vitv   (2007-04-23 12:30:00) [16]


> Готов поспорить, он указал кодировку Win1251 при создании
> базы, и не указал lc_ctype=1251 при подключении к нейПоднимаю
> ставку.Готов поспорить, что сама ошибка не из за при передаче
> параметра в запрос :)

lc_ctype=1251-а где это указывается?


ЮЮ   (2007-04-23 12:27:00) [17]

> Некоторые параметры такстовые, некоторые числовые


DataModule25.PodscotPrav.ParamByName('f1'). AsString
DataModule25.PodscotPrav.ParamByName('f2'). AsString
DataModule25.PodscotPrav.ParamByName('f3'). AsString
DataModule25.PodscotPrav.ParamByName('f4'). AsString

Не обнаружил никаких других кроме как текстовых

Куда like понаставил к числовым полям? Или FireBird 1.5.1 уже так далеко от народа?

С другими запросами всё ок

Т.е. такой запрос   работает ?

SELECT FAKULTET, count(*)
FROM rezultati1vopros
WHERE FAKULTET like '%'
GROUP BY FAKULTET


vitv   (2007-04-23 12:17:00) [18]

С другими запросами всё ок


Reindeer Moss Eater   (2007-04-23 12:12:00) [19]

Готов поспорить, он указал кодировку Win1251 при создании базы, и не указал lc_ctype=1251 при подключении к ней

Поднимаю ставку.
Готов поспорить, что сама ошибка не из за
при передаче параметра в запрос

:)


vitv   (2007-04-23 12:11:00) [20]

весь запрос:
SELECT distinct RV.rezvopros,

(((SELECT count(RV1.otvet)
FROM rezultati1vopros RV1
WHERE RV1.rezvopros=RV.rezvopros and
RV1.SEANS=RV.SEANS and
RV1.FAKULTET like:f1 and
RV1.KURS like:f2 and
RV1.gruppa like:f3 and

RV1.otvet like 'Ïðàâèëüíî')*1.0000/(SELECT count(RV1.otvet)
FROM rezultati1vopros RV1
WHERE RV1.SEANS=RV.seans and
RV1.rezvopros=rv.rezvopros and
RV1.FAKULTET like:f1 and
RV1.KURS like:f2 and
RV1.gruppa like:f3 ))*1.0000)*100,

(((SELECT count(RV1.otvet)
FROM rezultati1vopros RV1
WHERE RV1.rezvopros=RV.rezvopros and
RV1.SEANS=RV.SEANS and
RV1.FAKULTET like:f1 and
RV1.KURS like:f2 and
RV1.gruppa like:f3 and

RV1.otvet like 'Íå ïðàâèëüíî')*1.0000/
(SELECT count(RV1.otvet)
FROM rezultati1vopros RV1
WHERE RV1.SEANS=RV.seans and
RV1.rezvopros=rv.rezvopros and
RV1.FAKULTET like:f1 and
RV1.KURS like:f2 and
RV1.gruppa like:f3 ))*1.0000)*100,

(SELECT count(RV1.otvet)
FROM rezultati1vopros RV1
WHERE RV1.SEANS=RV.seans and
RV1.rezvopros=rv.rezvopros and
RV1.FAKULTET like:f1 and
RV1.KURS like:f2 and
RV1.gruppa like:f3 ),

V.id_vopros,V.vopros
FROM rezultati1vopros rv,VOPROSY V,fakultety f

where
RV.SEANS=:f4 AND
RV.rezvopros=V.id_vopros


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо