Форум: "Базы";
Текущий архив: 2011.02.13;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c