Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.039 c
15-1165958934
Alexander S
2006-12-13 00:28
2006.12.31
Поиск программистов для совместной работы над проектом


2-1165818559
Сергей Ю
2006-12-11 09:29
2006.12.31
Работа с socket-ами и sql в одном приложении=многопоточность?


2-1165929833
kutuzov47
2006-12-12 16:23
2006.12.31
Изменение размеров формы на определенную величину


3-1160987270
Merko2005
2006-10-16 12:27
2006.12.31
Процедура сохранения


6-1155167361
ivane
2006-08-10 03:49
2006.12.31
"Copy", "Copy Link" в TWebBrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский