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

Вниз

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

 
GlowSolnce   (2009-09-13 18:52) [0]

Всем привет!

Столкнулась с проблемой: при повторном использовании TadoQuery селект ничего не начитывает (((. Экземпл ниже:

ADOQAddSite.Parameters.ParamByName("SitesID").Value:=Msg.LParam;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("select Name, Comment from tSites where SitesID = :SitesID");
ADOQuery1.Open;
EDName.Text:=ADOQuery1.Fields.FieldByNumber(1).AsString;
EDComment.Text:=ADOQuery1.Fields.FieldByNumber(2).AsString;
ADOQuery1.Close;

При первом вызове в едиты значения начитываются, при повторном в едитах пусто.
Подскажите, пожалуйста, что в ADOQuery1 нужно очистить, чтоб повторно получать значения полей? Или в чем может заключаться проблема?


 
adigozelov ©   (2009-09-13 19:34) [1]

Vapros ni panyatin! Я ni ponil sto znacit
ADOQAddSite и ADOQuery1.tois eti razniyi Tadoquery.


 
MsGuns ©   (2009-09-13 19:59) [2]

Параметры следует заполнять перед Open, но никак не после


 
GlowSolnce   (2009-09-14 08:47) [3]

Параметры заполняются перед Open, вернее единственный параметр :SitesID

ADOQuery1.Parameters.ParamByName("SitesID").Value:=Msg.LParam;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("select Name, Comment from tSites where SitesID = :SitesID");
ADOQuery1.Open;
EDName.Text:=ADOQuery1.Fields.FieldByNumber(1).AsString;
EDComment.Text:=ADOQuery1.Fields.FieldByNumber(2).AsString;
ADOQuery1.Close;

Вопрос остается в силе.


 
MsGuns ©   (2009-09-14 09:02) [4]

>GlowSolnce   (14.09.09 08:47) [3]
>Параметры заполняются перед Open, вернее единственный параметр :SitesID

Сделайте так:

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := "select Name, Comment from tSites where SitesID = :SitesID";
ADOQuery1.Parameters.ParamByName("SitesID").Value:=Msg.LParam;
ADOQuery1.Open;


 
Anatoly Podgoretsky ©   (2009-09-14 09:11) [5]

> MsGuns  (14.09.2009 09:02:04)  [4]

А Clear для того, чтобы особо чисто было?


 
MsGuns ©   (2009-09-14 10:46) [6]

Нет, просто я сначала скопировал Add, а потом заменил на Text, а очистку, действительно лишнюю, выкинуть забыл :)


 
YurikGL ©   (2009-09-14 10:59) [7]

Кстати, советуется все же не ADOQuery использовать, а ADODataset


 
Anatoly Podgoretsky ©   (2009-09-14 11:18) [8]


> YurikGL ©   (14.09.09 10:59) [7]

Вот именно поэтому и советуют выкинуть ADOQuery, что бы не давать возможности ряду ошибок, это не учитывает неэффективность использования ADOQuery - в некоторых случаях замена дает ускорение раза в два.


 
Виталий Панасенко(дом)   (2009-09-14 12:34) [9]


> GlowSolnce   (14.09.09 08:47) [3]

А то, что ты текст запроса чистишь ПОСЛЕ установки значения параметра, это как ты думаешь, ничего не меняет?


 
adigozelov ©   (2009-09-14 15:11) [10]

Privet! ya vapros ni xarsho ponil no dumuyu shto ponil!
paprobuy tak ya paprobul i vso palucayitsa

ADOQuery1.sql.clear;
ADOQuery.sql.add("select Name, Comment from tSites where SitesID = :SitesID");
ADOQuery1.Parameters.ParamByName("SitesID").Value:=edit1.Text;
ADOQuery1.open;
EDName.Text:=ADOQuery1.Fields[1]AsString;
EDComment.Text:=ADOQuery1.Fields[1].AsString;
ADOQuery1.Close;


Eta vso i yesli ya vapros pravilna ponil taqda eta toje pravilna!
no savetuyu paprobut!



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

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

Наверх




Память: 0.49 MB
Время: 0.008 c
2-1285314207
Aleks
2010-09-24 11:43
2011.02.13
Как узнать о завершении работы Windows XP?


2-1290552397
dars73
2010-11-24 01:46
2011.02.13
Подскажите почему не работает EXTRACT


13-1126698314
ilya39
2005-09-14 15:45
2011.02.13
Взаимодействие потоков в C#


15-1288621303
crazybobpas
2010-11-01 17:21
2011.02.13
Проблемка: StringGrid + ScroolBox


2-1290679150
Radgar
2010-11-25 12:59
2011.02.13
Ошибка при использовании Create