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

Вниз

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

 
Bogdan   (2005-02-12 12:12) [0]

Здравствуйте. Вот такая проблема, непойму почему выдает ошибку Field "p1" not Found. При запросе:
SELECT*
FROM tab1
INNER JOIN "Name1.DB"Name1
ON(Tab1.Name1ID=Name1.ID)
WHERE Name1ID=:p1
Параметру p1 присвоил тип данных ftInteger
Буду благодарен за ответ.


 
YurikGL ©   (2005-02-12 13:28) [1]

Если не ошибаюсь, подобные ошибки возникают, когда у датасета уже есть созданные поля и они не соответсвуют запросу. Т.е. если однажды в датасете в дезигн-моде задали запрос типа slect p1 from...., потом active:=true, дважды кликаем на датасет и в появившемся поле говорим "Add all fields" (в списке появляется только p1), а после всего этого меняем наш запрос на другой и снова пытаемся active:=true то получаем ошибку "Field "p1" not Found"


 
Desdechado ©   (2005-02-12 15:20) [2]

тип присвоил, а значение не забыл?


 
Bogdan   (2005-02-12 16:34) [3]

Опять проблема, выдает ошибку Type mismatch in expression.
Select*
From Tab1
Where NameID=:p1 по связаному полю
если делать запрос по другой таблице
Select*
From Tab2
Where Name=:p1 все нормально


 
Desdechado ©   (2005-02-12 16:48) [4]

наверно NameID - число, а Name - строка?
тогда результат зависит от того, что присваиваешь


 
Bogdan   (2005-02-12 17:05) [5]

>наверно NameID - число, а Name - строка?
тогда результат зависит от того, что присваиваешь

В первом случае параметру присваивал ftInteger-выдает ошибку,хотя поле NameID типа Integer

Во втором присваивал ftString-все нормально, запрос работает.


 
Bogdan   (2005-02-12 17:23) [6]

Может связаному полю вообще нельзя присвоить параметр???


 
Desdechado ©   (2005-02-12 18:06) [7]

что такое связанное поле? если lookup (подставное), то сервер о нем не знает, посему и ошибка


 
Bogdan   (2005-02-12 18:15) [8]

>что такое связанное поле? если lookup (подставное), то сервер о нем не знает, посему и ошибка

NameID ключ записи из таблицы Name1.DB
INNER JOIN "Name1.DB"Name1
ON(Tab1.Name1ID=Name1.ID)


 
Desdechado ©   (2005-02-12 18:22) [9]

попробуй так, а то с Inner join как-то коряво:
SELECT t.*, name1.* FROM tab1 t, "Name1.DB" Name1
WHERE t.Name1ID=:p1 AND T.Name1ID = Name1.ID

Но даже в твоем варианте должно работать. Попробуй с нуля кинуть Query на форму и настроить в нем все. Имхо, ты во время экспериментов что-то где-то ткнул и забыл убрать.


 
Bogdan   (2005-02-12 18:56) [10]

>Desdechado ©  

Спасибо! Все О!!!кей.



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

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

Наверх





Память: 0.46 MB
Время: 0.033 c
14-1109152797
olookin
2005-02-23 12:59
2005.03.13
Динамо - Авангард


4-1107241039
VsInLg
2005-02-01 09:57
2005.03.13
Директивы


1-1109693035
Expl
2005-03-01 19:03
2005.03.13
Как определить создан ли экземпляр какого-либо класса?


1-1109451370
0x010012
2005-02-26 23:56
2005.03.13
Что то не то!


3-1108117263
lightix
2005-02-11 13:21
2005.03.13
SQL Server + ADO





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