![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADOQuery.Open. SELECT
DeepProg © (2005-08-09 17:13:00)Соединение с БД установлено.
MY_CONNSTR = 'Provider=SQLOLEDB,...' //cтрока подключения у базе
var
ADOQ: TADOQuery;
begin
ADOQ := TADOQuery.Create(nil);
ADOQ.ConnectionString := WideString(MY_CONNSTR);
ADOQ.SQL.Text := 'select * from mytab';
ADOQ.Open;
ShowMessage(IntToStr(ADOQ.RowsAffected));
ADOQ.Close;
RowsAffected всегда 0, хотя записи в базе есть.
INSERT INTO работает нормально, но выполняется не через Open, а через ExecSQL.
В QA SELECT-запрос выполняется нормально.
Какие еще настройки надо сделатьЮ чтобы он и у меня заработал?
Nikolay M. (2005-08-10 09:53:00) [1]
> DeepProg (10.08.05 07:42) [4]
> На RowsAffected я смотрел, т.к. QA выводит как раз такое
> сообщение на любой запрос, в т.ч. и SELECT
А если QA вдруг русифицируют и в его исходном тексте будет что-то вроде
Memo1.Text := 'А вот кому цифирьку(и) : ' + IntToStr (ADOQuery1.RecordCount);
ты у TADOQuery будешь искать свойство "А вот кому цифирьку"? :)
DeepProg (2005-08-10 07:42:00) [2]На RowsAffected я смотрел, т.к. QA выводит как раз такое сообщение на любой запрос, в т.ч. и SELECT
А так все, действительно, работает
Marser (2005-08-09 23:29:00) [3]RowsAffected, как следует из названия, это "задетые" записи. А обычно в таких случаях используется ADOQuery.RecordCount
Anatoly Podgoretsky (2005-08-09 19:16:00) [4]А почему думаешь, что запрос не работает?
Подключи к TDbGrid и посмотри.
Nikolay M. (2005-08-09 18:38:00) [5]Из хелпа
property RowsAffected: Integer;
Description
Inspect RowsAffected to determine how many rows were updated or deletedby the last query operation.
У тебя что-то обновляется или удаляется?