![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамический запрос [D7, ACCESS]
SlavaSH © (2003-11-24 13:58:00)
Есть переменная
Neis:Variant;
Затем формируем динамически запрос
with ADOQuery1 do begin
with SQL do begin
Clear;
Add("SELECT *");
Add("FROM Prichin");
Add("WHERE IDNeispr = "Neis"");
end;
При работе выдает ошибку "Несоответствие типов данных в выражении условия отбора"
Не подскажите как избавиться от ошибки??
VAleksey (2003-11-24 15:51:00) [1]
Избавится просто
try
Query1.Open;
except
end;
Только работать не будет.
1) Укажи тип поля?
2) Посмотри же, наконец, что ФАКТИЧЕСКИ находится в переменной?
3) Полный текст запроса + код, которым ты его получаешь?
4) Посмотри синтаксис запросов в ACCESS и выясни, соответствует ли у тебя конечный текст запроса этому синтаксису.
SlavaSH (2003-11-24 15:29:00) [2]
Попробовал не получается выдает.
Неправильно определен объект Parameter. Предоставлены несовместимые или неполные сведения.
Подскажите пожалуйста как избавиться
VAleksey (2003-11-24 15:24:00) [3]
> Как избавиться???
Исправить ошибку.
Как исправить?
Добиться чтобы типы поля и переменной в запросе совпадали.
Для начала попробуй
Add("WHERE IDNeispr = "+VarToStr(Neis));
PS
И избався от кавычек, если таковые присутствуют.
SlavaSH (2003-11-24 15:17:00) [4]
Add("WHERE IDNeispr = "+Neis);
НЕ работает выдает is not a valid integer value
Как избавиться???
SlavaSH (2003-11-24 15:11:00) [5]
В переменной
Neis:=Lookup("Neispr",ADOTableNeisNeispr.Value,"ID");
VAleksey (2003-11-24 15:09:00) [6]
А что в переменной?
Shirson (2003-11-24 14:08:00) [7]
Add("WHERE IDNeispr = "+Neis);
еще правильнее
Add("WHERE IDNeispr = :Neis");
end;
ADOQuery1.parameters.paramvalues["Neis"]:=Neis;