Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамический запрос [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо