Use: Table - TSimpleDataSet;
CommandText - 'select * from test';
Code: Select all
procedure TForm30.FormCreate(Sender: TObject);
begin
with Connection do
begin
Params.Clear;
Params.Add('HostName=localhost');
Params.Add('DataBase=postgres');
Params.Add('user_name=postgres');
Params.Add('password=1234');
Params.Add('EnableBCD=True');
Params.Add('UnpreparedExecute=True'); <---------------- COMMENT 8.4 OK / 9.1 ERROR
Params.Add('UseQuoteChar=True');
Params.Add('UseUnicode=True');
Params.Add('DetectParamTypes=True');
Params.Add('OIDAsLargeObject=True');
Params.Add('TrimFixedChar=True');
Connected := True;
end;
Connection.ExecuteDirect('create table IF NOT EXISTS test (id serial not null primary key, field_text text,classe text,carregar boolean)');
Table.Open;
Memo1.Lines.Text := StringOfChar('x', 50000);
Write;
Table.Close;
Table.Open;
Read;
end;
procedure TForm30.Write;
var
BinStream: TMemoryStream;
StrStream: TStringStream;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create;
try
BinStream.WriteComponent(Self);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
Table.Edit;
Table.FieldByName('field_text').AsString := StrStream.DataString;
Table.Post;
Table.ApplyUpdates(-1);
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;
procedure TForm30.Read;
var
StrStream: TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Table.FieldByName('field_text').AsString);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream); <---- ERROR
BinStream.Seek(0, soFromBeginning);
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;