Главная страница
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.034 c
1-1109665209
aleksey
2005-03-01 11:20
2005.03.13
Как задать ёмкость буфера com порта и как его очистить ?


6-1104863244
Донской
2005-01-04 21:27
2005.03.13
Прикол с tnmsmtp под winnt4


3-1107753931
lats
2005-02-07 08:25
2005.03.13
Блокировка таблицы транзакцией в MSSQL


1-1109574679
mmms
2005-02-28 10:11
2005.03.13
Как бы зациклить "Tab" на одной панели, не переходить на другие


1-1108961311
buka
2005-02-21 07:48
2005.03.13
Поисковая система