Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

Как получить результат запроса ADOQuery ?   Найти похожие ветки 

 
dreamse   (2005-10-05 11:22) [0]

SQL код в SyntaxMemo1 :


backup database mybase
TO disk = "c:\Back.bak"  


Код в Delphi :


ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:=SyntaxMemo1.Lines.Text;
try
 ADOQuery1.ExecSQL;
except
   on e:exception do
     listerrors(e); // Обработчик ошибки


try Except обрабатываються синтаксические ошибки при создани запроса а вот как вернуть ответ от MS SQL server"a ?
В данном случае должно возвратиться сообщение о успешной или не успешной операции  ( + время + размер и пр. )

Компоненты :

ADOQuery
ADOConnection

Сам код обрабатываеться нормально.


 
sniknik ©   (2005-10-05 11:35) [1]

посмотри в ADOConnection1.Errors,  информационные сообщения это те же ошибки, только с пониженным статусом(кодом).


 
dreamse   (2005-10-05 11:49) [2]

> sniknik

Добавление обработчика в :


ADOConnectionInfoMessage
ADOConnectionExecuteComplete
ADOConnectionRollbackTransComplete
ADOConnectionWillExecute
ADOConnectionCommitTransComplete
ADOConnectionBeginTransComplete


Не принесло никакого результата


 
ANB ©   (2005-10-05 11:54) [3]


> dreamse   (05.10.05 11:49) [2]
- при чем тут эти обработчики ? В errors лежат все сообщения от сервера, в том числе и не ошибки. Заполняется полностью после выполнения запроса.


 
sniknik ©   (2005-10-05 12:09) [4]

dreamse   (05.10.05 11:49) [2]
> Добавление обработчика в :
> ADOConnectionInfoMessage
как именно "обрабытавал"?

кроме всего поставь у квери CursorLocation:= clUseServer;

ANB ©   (05.10.05 11:54) [3]
>  - при чем тут эти обработчики ?
ну один то точно причем. ;) в нем возвращаются все сообщения конекта, в том числе и ошибки.


 
dreamse   (2005-10-05 12:11) [5]

> sniknik

Посмотрел ,

ADOConnection1.Errors.count = 0

Ничего нет :(


 
sniknik ©   (2005-10-05 12:39) [6]

при локальном курсоре посылается не все, чтото не посылает сообщений вообше... (еще возможна путаница в "обертке" ADO)

но
backup database mybase
TO disk = "c:\Back.bak"  
точно посылает (делал тестовую прогу когдато, для другого, сейчас проверил бекап) выдает
Processed 4712 pages for database "hl", file "hotline_Data" on file 14.
Processed 1 pages for database "hl", file "hotline_Log" on file 14.
BACKUP DATABASE successfully processed 4713 pages in 2.935 seconds (13.152 MB/sec).

(база моя естественно подтавлена, самую маленькую выбрал)

можеш сам проверить. код (один из возможных), взял тот где исключены(должны бы) всякие случайности в виде настроек/обертки...

uses ..., ADOInt;

TForm1 = class(TForm)
   ...
   Memo1: TMemo;
  ...
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 cmd: _Command;
 Conn: _Connection;
 Pars: Parameters;
 RA: OleVariant;
 rs: _Recordset;
 n: Integer;
begin
 Conn:= CreateComObject(CLASS_Connection) as _Connection;
 Conn.ConnectionString:= "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False";
 Conn.Open(Conn.ConnectionString, "", "", Integer(adConnectUnspecified));

 cmd:= CreateComObject(CLASS_Command) as _Command;
 cmd.CommandType:= adCmdText;
 cmd.Set_ActiveConnection(Conn);

 cmd.CommandText:= "backup database mybase"#10#13+
                   "TO disk = ""c:\Back.bak""";
 rs:= cmd.Execute(RA, 0, Integer(adCmdText));

 while rs <> nil do begin
   for n:= 0 to (Conn.Errors.Count-1) do
     Memo1.Lines.Add(Conn.Errors.Item[n].Description);
   rs:= rs.NextRecordset(RA);
 end;

 cmd.Set_ActiveConnection(nil);      
 Conn.Close;
 Pars:= nil;
 cmd:= nil;
 Conn:= nil;
end;


должно сработать "as is".


 
dreamse   (2005-10-05 12:58) [7]

Ругаеться на CreateComObject может что в uses прописать забыл ?


 
dreamse   (2005-10-05 13:29) [8]

> sniknik

Спасибо , разобрался , всё работает
Нужно было вставить : ComObj



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

Форум: "Базы";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
4-1126772390
SergeyGood
2005-09-15 12:19
2005.11.13
Функция CreateProcessWithLogonW


2-1130246477
syte_ser78
2005-10-25 17:21
2005.11.13
table.active


2-1129548791
dreamse
2005-10-17 15:33
2005.11.13
Проблема с составлением фильтра


14-1129816274
flipper
2005-10-20 17:51
2005.11.13
Никто не может зайти в компик (хр)


1-1129877013
Шурик Ш
2005-10-21 10:43
2005.11.13
Хранение доп. строки для объекта TreeView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский