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

Вниз

Несоответствие типов в SQL Запросе - наверное 1001 вопрос   Найти похожие ветки 

 
NataliK   (2003-06-06 11:49) [0]

Подскажите что пересмотреть, есть
With Query1 do begin
if active then Close ;
SQL.Clear;
SQL.Add("select km.* from "table1.db" KM where km.TN =:prm union all select pl.* from "table2.db" Pl where pl.TN=:prm");
Query1.Params[0].paramType:=ptInput;
Query1.Params[0].DataType:=ftInteger;
Query1.Params[1].paramType:=ptInput;
Query1.Params[1]. DataType:=ftInteger;
Query1.ParamByName("prm").AsInteger:= StrToInt(Edit1.text);
Open;


 
ladybird   (2003-06-06 11:51) [1]

два параметра prm1 и prm2
SQL.Add("select km.* from "table1.db" KM where km.TN =: prm1 union all select pl.* from "table2.db" Pl where pl.TN=: prm2");


 
NataliK   (2003-06-06 11:57) [2]

ladybird
К моему огорчению, тоже самое.


 
KoluChi   (2003-06-06 12:00) [3]

StrToIntDef(Edit1.text, 0);


 
NataliK   (2003-06-06 12:04) [4]

KoluChi

Получаю
Debugger Exception Notification
Project Project1.exe raised exception class EDBEngineError with message "Type mismatch in expression."
Где-то чего-то я не вижу!!


 
KoluChi   (2003-06-06 12:10) [5]

Вы запрос проверяли? Если вместо параметров поставить конкретные значения будет работать?
типы полей km.TN и pl.TN - целые числа?


 
Наталия   (2003-06-06 12:20) [6]

а так:
SQL.Add("select km.* from "table1.db" KM where km.TN =:prm1 union all select pl.* from "table2.db" Pl where pl.TN=:prm2");
Query1.ParamByName("prm1").AsInteger:= StrToInt(Edit1.text);
Query1.ParamByName("prm2").AsInteger:= StrToInt(Edit1.text);
и проверить, все ли типы полей km.* совпадают с pl.* - скорее всего ошибка именно в этом


 
NataliK   (2003-06-06 12:36) [7]

типы полей tn из km. совпадают с TN из pl
написала

SQL.Add("select km.TN from "P_K_EN.db" KM
where km.TN =:prm1 union all select pl.TN from "Energ_pl.db" Pl where pl.tn=:prm2");
Query1.ParamByName("prm1").AsInteger:= StrToInt(Edit1.text);
Query1.ParamByName("prm2").AsInteger:= StrToInt(Edit1.text);
получаю
Project Project1.exe raised exception class EListError with message "List index out of bounds (1)"


 
ladybird   (2003-06-06 12:38) [8]

пройдите по шагам. в какой строке ошибка?


 
NataliK   (2003-06-06 12:45) [9]

ВСЕМ ОГРОМНОЕ СПАСИБО. Много ли надо для счастья, сегодня!!


 
Наталия   (2003-06-06 12:48) [10]

Разбейте запрос на два. Попробуйте выполнить по отдельности и без параметров. Проверьте синтаксис. Попробуйте не формировать запрос динамически, а выполнить его в дизайн-тайм. Если в запросе используете union, то должно совпадать количество и типы полей возвращаемых обеими его частями.


 
Соловьев   (2003-06-06 14:39) [11]


> Query1.Params[0].paramType:=ptInput;
> Query1.Params[0].DataType:=ftInteger;
> Query1.Params[1].paramType:=ptInput;
> Query1.Params[1]. DataType:=ftInteger;
> Query1.ParamByName("prm").AsInteger:= StrToInt(Edit1.text);
>

смысл в параметрах, когда запрос, формируется?



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

Форум: "Базы";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
7-97900
Любомиров
2003-04-21 22:38
2003.06.30
Питающая сеть - характеристики


7-97902
XM-AD
2003-04-21 17:14
2003.06.30
Запис на хард


14-97877
Fantasist.
2003-06-11 19:39
2003.06.30
Буддисты


4-97919
il
2003-04-28 14:24
2003.06.30
Как выбрать пункт главного меню чужого приложения (окна)


3-97483
Конюхов Сергей
2003-06-04 14:47
2003.06.30
Изменения с одной машині не видні на второй





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский