Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
vitv ©   (2007-04-23 11:16) [0]

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


 
ЮЮ ©   (2007-04-23 11:24) [1]

Не того типа параметр передал. Или вообше неопределил какой-то параметр запроса.

З.Ы. запрос и код задания параметров - в студию


 
vitv ©   (2007-04-23 11:35) [2]

(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


 
vitv ©   (2007-04-23 11:38) [3]

DataModule25.PodscotPrav.Close;

if sDBLookUpComboBox7.Enabled=false then
DataModule25.PodscotPrav.ParamByName("f1").AsString:="%"
else
DataModule25.PodscotPrav.ParamByName("f1").AsString:=inttostr(DataModule25.fakul tet.fieldbyname("id_fak").AsInteger);

if sDBLookUpComboBox8.Enabled=false then
DataModule25.PodscotPrav.ParamByName("f2").AsString:="%"
else
DataModule25.PodscotPrav.ParamByName("f2").AsString:=DataModule25.kurs.fieldbyna me("KURSN").AsString;
if sDBLookUpComboBox9.Enabled=false then
DataModule25.PodscotPrav.ParamByName("f3").AsString:="%"
else
DataModule25.PodscotPrav.ParamByName("f3").AsString:=inttostr(DataModule25.grupp a.fieldbyname("id_gru").AsInteger);

DataModule25.PodscotPrav.ParamByName("f4").AsString:=inttostr(DataModule25.Seans Vop.fieldbyname("seans").AsInteger);

DataModule25.PodscotPrav.Open;


 
vitv ©   (2007-04-23 11:44) [4]

FireBird 1.5.1


 
Reindeer Moss Eater ©   (2007-04-23 11:46) [5]

Текст ошибки приведен не полностью. Ключ к разгадке как раз в конце сообщения.


 
vitv ©   (2007-04-23 11:53) [6]


> Reindeer Moss Eater ©   (23.04.07 11:46) [5]
> Текст ошибки приведен не полностью. Ключ к разгадке как
> раз в конце сообщения.
<
> FireBird 1.5.1 ?

/I>


 
ЮЮ ©   (2007-04-23 11:58) [7]

Текст запроса тоже приведен не полностью.

Ну и зачем числа к строкам приводить?

and RV1.gruppa = f3

DataModule25.PodscotPrav.ParamByName("f3").AsInteger := DataModule25.gruppa.fieldbyname("id_gru").AsInteger;
DataModule25.PodscotPrav.ParamByName("f4").AsInteger := DataModule25.SeansVop.fieldbyname("seans").AsInteger;


 
vitv ©   (2007-04-23 12:02) [8]

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


 
DrPass ©   (2007-04-23 12:04) [9]


> Не того типа параметр передал. Или вообше неопределил какой-
> то параметр запроса


> FireBird 1.5.1

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


 
vitv ©   (2007-04-23 12:11) [10]

весь запрос:
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 "&#207;&#240;&#224;&#226;&#232;&#235;&#252;&#237;&#238;")*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 "&#205;&#229; &#239;&#240;&#224;&#226;&#232;&#235;&#252;&#237;&#238;")*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


 
Reindeer Moss Eater ©   (2007-04-23 12:12) [11]

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

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

:)


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

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


 
ЮЮ ©   (2007-04-23 12:27) [13]

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


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:30) [14]


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

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


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


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

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


 
Desdechado ©   (2007-04-23 12:31) [16]

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


 
ЮЮ ©   (2007-04-23 12:39) [17]

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

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


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

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


 
vitv ©   (2007-04-23 12:47) [19]


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

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


 
DrPass ©   (2007-04-23 12:47) [20]


> у меня ibexpert

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


 
vitv ©   (2007-04-23 12:54) [21]


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

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


 
vitv ©   (2007-04-23 13:01) [22]


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

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


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


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

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


 
vitv ©   (2007-04-23 14:28) [24]

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


 
vitv ©   (2007-04-23 14:55) [25]


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

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


 
vitv ©   (2007-04-23 15:10) [26]

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


 
vitv ©   (2007-04-24 11:49) [27]

Разобрался с этим, но всплыла и другая проблема:
(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


 
Desdechado ©   (2007-04-24 12:37) [28]

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


 
vitv ©   (2007-04-24 14:07) [29]

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

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

;)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.047 c
15-1176460161
Kamuto Hirovato
2007-04-13 14:29
2007.05.13
Все тайное становится явным.


4-1166032651
P@r@zit
2006-12-13 20:57
2007.05.13
Информатика


2-1177391484
allucard
2007-04-24 09:11
2007.05.13
Указатели


3-1169545811
Alex_AA
2007-01-23 12:50
2007.05.13
Как сделать фильтр для БД?


15-1176404781
PHPdeveloper
2007-04-12 23:06
2007.05.13
JavaScript





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский