Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
14-1108986537
Магнит
2005-02-21 14:48
2005.03.13
вопрос обладателям КПК


1-1109522141
AAAAA
2005-02-27 19:35
2005.03.13
Disconnect от TExcelApplication в ПОТОКЕ..


14-1108743112
Nic87
2005-02-18 19:11
2005.03.13
Помогите найти песню


1-1109604044
hgd
2005-02-28 18:20
2005.03.13
Функция playsound


1-1109627083
Мирон
2005-03-01 00:44
2005.03.13
Не хочет вызываться нужный конструктор класса