![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при запросе [D7, Paradox]
Bogdan © (2005-02-12 12:12:00)Здравствуйте. Вот такая проблема, непойму почему выдает ошибку Field 'p1' not Found. При запросе:
SELECT*
FROM tab1
INNER JOIN "Name1.DB"Name1
ON(Tab1.Name1ID=Name1.ID)
WHERE Name1ID=:p1
Параметру p1 присвоил тип данных ftInteger
Буду благодарен за ответ.
Bogdan (2005-02-12 18:56:00) [1]>Desdechado ©
Спасибо! Все О!!!кей.
Desdechado (2005-02-12 18:22:00) [2]попробуй так, а то с 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:15:00) [3]>что такое связанное поле? если lookup (подставное), то сервер о нем не знает, посему и ошибка
NameID ключ записи из таблицы Name1.DB
INNER JOIN "Name1.DB"Name1
ON(Tab1.Name1ID=Name1.ID)
Desdechado (2005-02-12 18:06:00) [4]что такое связанное поле? если lookup (подставное), то сервер о нем не знает, посему и ошибка
Bogdan (2005-02-12 17:23:00) [5]Может связаному полю вообще нельзя присвоить параметр???
Bogdan (2005-02-12 17:05:00) [6]>наверно NameID - число, а Name - строка?
тогда результат зависит от того, что присваиваешь
В первом случае параметру присваивал ftInteger-выдает ошибку,хотя поле NameID типа Integer
Во втором присваивал ftString-все нормально, запрос работает.
Desdechado (2005-02-12 16:48:00) [7]наверно NameID - число, а Name - строка?
тогда результат зависит от того, что присваиваешь
Bogdan (2005-02-12 16:34:00) [8]Опять проблема, выдает ошибку Type mismatch in expression.
Select*
From Tab1
Where NameID=:p1 по связаному полю
если делать запрос по другой таблице
Select*
From Tab2
Where Name=:p1 все нормально
Desdechado (2005-02-12 15:20:00) [9]тип присвоил, а значение не забыл?
YurikGL (2005-02-12 13:28:00) [10]Если не ошибаюсь, подобные ошибки возникают, когда у датасета уже есть созданные поля и они не соответсвуют запросу. Т.е. если однажды в датасете в дезигн-моде задали запрос типа slect p1 from...., потом active:=true, дважды кликаем на датасет и в появившемся поле говорим "Add all fields" (в списке появляется только p1), а после всего этого меняем наш запрос на другой и снова пытаемся active:=true то получаем ошибку "Field 'p1' not Found"