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

Вниз

TADOQuery + Access + Delete   Найти похожие ветки 

 
GlowSolnce   (2009-09-16 21:45) [0]

Всем привет!

Столкнулась с проблемой удаления записей из таблицы.
Если в отборе where параметр, то удаления записи не происходит(ошибок выполнения не выдается).

var
 ADOQDel:TADOQuery;
 SitesID:integer;
begin
 ADOQDel:=TADOQuery.Create(self);
 ADOQDel.Connection:=ADOMod.ADOConnection1;
 SitesID:=DBGSites.DataSource.DataSet.FieldByName("SitesID").AsInteger;
 with ADOQDel.Parameters.AddParameter do
 begin
    Name:="SitesID";
    DataType:=ftInteger;
    Direction:=pdInput;
    Value:=SitesID;
  end;
 ADOQDel.SQL.Clear;
 ADOQDel.SQL.Add("delete");
 ADOQDel.SQL.Add("from tSites");
 ADOQDel.SQL.Add("where SitesID = :SitesID");
 ADOQDel.ExecSQL;
 ADOQDel.Close;

А если эту строчку
ADOQDel.SQL.Add("where SitesID = :SitesID");
заменяю на
ADOQDel.SQL.Add("where SitesID = 5");
т.е. сразу прописываю ID, то удаление замечательно проходит.
Если важно, то tSites.SitesID в аксесе определен как счетчик.

Проверку параметра перед выполнением ExecSQL производила, параметр содержит верное значение.

В чем может быть проблема?
Какое-то странное поведение.


 
GlowSolnce   (2009-09-16 21:51) [1]

Даже так работает
ADOQDel.SQL.Add("where SitesID = "+InttoStr(SitesID));

Вопрос остается, почему не работает через параметр???


 
sniknik ©   (2009-09-16 22:13) [2]

> Какое-то странное поведение.
это у тебя странное поведение, после разбора, и примеров на те же грабли...

http://delphimaster.net/view/3-1252853537/

> В чем может быть проблема?
похоже, что в зеркале.


 
GlowSolnce   (2009-09-17 10:17) [3]

Вы имеете ввиду что вместо TADOQuery нужно использовать TADOCommand?
И такое поведенеие для TADOQuery в порядке вещей?


 
Amoeba ©   (2009-09-17 10:59) [4]


> GlowSolnce   (17.09.09 10:17) [3]
>
> Вы имеете ввиду что вместо TADOQuery нужно использовать
> TADOCommand?
> И такое поведенеие для TADOQuery в порядке вещей?

Нет, TADOQuery здесь не при чем. Не надо пенять на зеркало.


 
sniknik ©   (2009-09-17 11:04) [5]

нет, если писать нормально, то и TADOQuery работает, не рекомендуют его по другому поводу, из-за его неэффективности (в основном для командных запросов) и потворствования в формировании дурных привычек у начинающих.

а вот как писать нормально, там есть.



Страницы: 1 вся ветка

Текущий архив: 2009.11.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1252275426
NailMan
2009-09-07 02:17
2009.11.08
Кто пользуется автомобильными телеками 9-10"?


2-1253710111
webpauk
2009-09-23 16:48
2009.11.08
Неувязка с Parent


15-1252446580
Германн
2009-09-09 01:49
2009.11.08
Не могу понять установку компонент в Д2007.


2-1253285152
Сергей
2009-09-18 18:45
2009.11.08
Динамически создать три формы и для каждой свою кнопку


15-1252842870
_Андрей
2009-09-13 15:54
2009.11.08
инет в Viste