Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
ВнизПолучение результатов работы SQL-запроса Найти похожие ветки
← →
Kostafey © (2006-12-10 20:34) [0]Уважаемые мастера! Если я кого-то еще не замучил своими вопросами то TSQL, то окажите содействие в следующем:
Если посылать запрос из SQL Managment Studio (СУБД SQL Server 2005), то помимо результата выполнения запроса
(например таблицы, если это оператор select) он выводит сообщение (например "(359 row(s) affected)").
ВОПРОС: А как в Delphi получить текст этого сообщения при подключении к СУБД через ADO ?
← →
Desdechado © (2006-12-10 20:47) [1]RowsAffected property (TADOQuery)
неужели тяжело догадаться?
← →
Kostafey © (2006-12-10 20:59) [2]> RowsAffected property (TADOQuery)
Угу, а если посылается сразу ряд запросов в TADOQuery.SQL и выполняются одним ExecSQL,
то я получается смогу получить только сообщение о выполнении последнего запроса ?
← →
sniknik © (2006-12-10 22:34) [3]> то я получается смогу получить только сообщение о выполнении последнего запроса ?
наоборот первого отображаемого, т.к. ADODataSet "прокручивает" "пустышки" спереди до первого с данными.
следующие можно получить после перехода к следующему по NextRecordset.
если же нужны именно "пустышки" (от инсертов, апдейтов всяких там где рекордсеты без данных) то надо пользоваться не ADODataSet а ADOCommand у него нет функциональности по обрезанию пустых/неотображаемых рекордсетов.
ADOQuery(ADOTable, ADOStoredProc) выкинь в корзину, и больше не используй.
← →
Kostafey © (2006-12-10 23:13) [4]> если же нужны именно "пустышки" (от инсертов, апдейтов всяких
> там где рекордсеты без данных)
Да-да, именно они-то и нужны
> то надо пользоваться не ADODataSet а ADOCommand
Да, но я что-т о никак не могу найти у ADOCommand аналог RowsAffected property (TADOQuery)
> ADOQuery(ADOTable, ADOStoredProc) выкинь в корзину, и больше
> не используй.
Даже в практике такого ламера как я случалось, что ADOTable генерил ошибку там
где ADODataSet успешно справлялся с задачей.
← →
sniknik © (2006-12-10 23:33) [5]> Да, но я что-т о никак не могу найти у ADOCommand аналог RowsAffected property (TADOQuery)
у возвращаемого рекордсета ищи, и не свойство, у него это параметр у NextRecordset.
← →
Kostafey © (2006-12-10 23:47) [6]> у возвращаемого рекордсета ищи, и не свойство, у него это
> параметр у NextRecordset.
Нет, боюсь что не получается самостоятельно разобраться.ADOCommand1.Parameters.Count;
выдает 0, что наверное и неудивительно.
NextRecordset - что такое ?
Есть у ADOCommand несколько интересных перегруженных Execute.
Наверное сообщения о результатах запроса нужно как-то черпать их них ?
← →
Kostafey © (2006-12-11 00:11) [7]
> Есть у ADOCommand несколько интересных перегруженных Execute.
Возвращают эти Execute значение типа _Recordset,
у которого и метод NextRecordset есть. Но как это работает понаять пока не получается.
← →
sniknik © (2006-12-11 00:58) [8]> Есть у ADOCommand несколько интересных перегруженных Execute.
> Наверное сообщения о результатах запроса нужно как-то черпать их них ?
только для первого
> Возвращают эти Execute значение типа _Recordset,
> у которого и метод NextRecordset есть.
нашел :о)
> Но как это работает понаять пока не получается.var
Recordset: _Recordset;
RecAff: Integer;
RecAff2: OleVariant;
begin
Recordset:= ADOCommand1.Execute(RecAff, EmptyParam);
...
while Recordset <> nil do begin
Recordset:= Recordset.NextRecordset(RecAff2);
....
end;
← →
Kostafey © (2006-12-11 01:20) [9]> [8] sniknik © (11.12.06 00:58)
Спасибо, теперь стало гораздо понятнее.
Но что-то не получается считать информацию из Recordset.
ТакRecordset.Fields.Count
будет 0
Есть еще несколько методов начинающихся с Get...
← →
sniknik © (2006-12-11 01:56) [10]> Так Recordset.Fields.Count будет 0
а чего ты ожидал от "пустышки"? полный отчет по изменениям, с логом старых + новых значений полей?...
нет, данных в нем нет, а значит и структуры под них.
← →
Kostafey © (2006-12-11 02:05) [11]> а чего ты ожидал от "пустышки"? полный отчет по изменениям,
> с логом старых + новых значений полей?...
> нет, данных в нем нет, а значит и структуры под них.
А мне всего-то нужно считать значения RowsAffected для ряда заросов
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c