![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBCC CHECKDB, DBCC DBREINDEX [D7, MySQL]
VadimSpb © (2006-12-17 11:48:00)Добрый день!
Как вернуть всю информацию о результатах выполнения данных запросов, выполненных программно?
sniknik (2006-12-17 13:30:00) [1]> Сорри, я ошибся, конечно MS SQL!
ну тогда считай повезло, для MySQL я обычно не отвечаю, не знаю его настолько чтобы отвечать.
VadimSpb (2006-12-17 13:25:00) [2]Сорри, я ошибся, конечно MS SQL!
Исправлять сообщения на форуме нельзя?
Спасибо за ответ, проверю.
sniknik (2006-12-17 13:13:00) [3]блин, не обратил внимания... а что в MySQL тоже есть DBCC CHECKDB? тогда [1] может не получится, ввиду различий (если они есть) передачи сообшений в ADO.
sniknik (2006-12-17 13:10:00) [4]также как результат от PRINT через коллекцию ошибок (чем сообщения и являются, только с низким приоритетом)
например так
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
Recordset: _Recordset;
V: OleVariant;
begin
ADOConnection1.Close;
ADOConnection1.CursorLocation:= clUseServer;
ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False';
Recordset:= ADOConnection1.Execute('DBCC CHECKDB (''tempdb'', NOINDEX)');
while not (stOpen in ADOConnection1.State) do;
while true do begin
for i:= 0 to ADOConnection1.Errors.Count-1 do
Memo1.Lines.Add(IntToStr(ADOConnection1.Errors[i].NativeError)+ ADOConnection1.Errors[i].Description);
try
if Recordset = nil then Exit
else Recordset:= Recordset.NextRecordset(V);
except
for i:= 0 to ADOConnection1.Errors.Count-1 do
Memo1.Lines.Add(IntToStr(ADOConnection1.Errors[i].NativeError)+' : '+ADOConnection1.Errors[i].Description);
Exit;
end;
end;
end;