Я пытаюсь получить размер моей базы данных через TDBXReader. Моя команда SQL возвращает две строки, размер моей базы данных и сумму всех размеров базы данных.Как получить размер базы данных через TDBXReader?
Я пытаюсь использовать Reader.Value [0], чтобы получить значение суммы базы данных и получить ошибку. Тип значения TDBXTypes.BCD не может быть реализован как TDBXTypes.Doubletype.
Если я использую Reader.Value [1] получить 'Invalid Порядковый = 1'
Функция:
function ChangeBD() : double;
var
Con : TDBXConnection;
Cmd : TDBXCommand;
Reader : TDBXReader;
begin
Result:= 0;
Con := TDBXConnectionFactory.GetConnectionFactory.GetConnection('mydb', 'root', 'root');
Cmd := Con.CreateCommand;
Cmd.Text := 'SELECT Sum(data_length + index_length)/1024/1024 "BDsize" FROM information_schema.tables WHERE table_schema = '+quotedstr('mydb');
Reader := Cmd.ExecuteQuery;
if Reader.Next then
begin
Result:= Reader.Value[0].GetDouble;
end
else
Con.Free;
Cmd.Free;
Reader.Free;
end;
Спасибо за отличный ответ и объяснение. GetAsDouble поможет мне. –
@Artur_Indio: Рад помочь :) –