Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

Как получить результат запроса 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1130065186
Smarty
2005-10-23 14:59
2005.11.13
Помогите с Invalid floating point operation!!


2-1130316667
syte_ser78
2005-10-26 12:51
2005.11.13
выборка записей


2-1129523457
bogdan
2005-10-17 08:30
2005.11.13
Задача по геометрии


14-1129875825
MBo
2005-10-21 10:23
2005.11.13
Пятничные задачки. Покумекаем? ;)


5-1109775581
вопрос
2005-03-02 17:59
2005.11.13
Как из компонента узнать, что в форме выполнилось событие ShortC