SQLite: Getting "cannot convert type" error when loading image into Blob field
Posted: Wed 05 Mar 2014 07:25
UniDAC 5.2.7
Delphi XE5 Update2
SQLiteUniProvider
I ran the following code:
I got the error "CANNOT CONVERT TYPE"
Error stack:
LiteClassesUni.BindBlob
...
UniQuery.Post
Same issue in LiteDAC was solved 26 Dec 2013
http://forums.devart.com/viewtopic.php?f=48&t=28564
Delphi XE5 Update2
SQLiteUniProvider
I ran the following code:
Code: Select all
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, Uni, SQLiteUniProvider, DB;
var
UniConnection: TUniConnection;
UniQuery: TUniQuery;
BlobField: TBlobField;
begin
UniConnection := TUniConnection.Create(nil);
try
UniConnection.ProviderName := 'SQLite';
UniConnection.SpecificOptions.Values['SQLite.Direct'] := 'True';
UniConnection.Database := ':memory:';
UniConnection.Connect;
UniConnection.ExecSQL('create table test (id integer, pic blob)');
UniConnection.ExecSQL('Insert into test(id) values (1)');
UniQuery := TUniQuery.Create(nil);
try
UniQuery.Connection := UniConnection;
UniQuery.SQL.Text := 'Select * from test';
UniQuery.Open;
UniQuery.Edit;
BlobField := UniQuery.FieldByName('Pic') as TBlobField;
BlobField.LoadFromFile('d:\test.bmp');
UniQuery.Post;
finally
UniQuery.Free;
end;
finally
UniConnection.Free;
end;
end.
Error stack:
LiteClassesUni.BindBlob
...
UniQuery.Post
Same issue in LiteDAC was solved 26 Dec 2013
http://forums.devart.com/viewtopic.php?f=48&t=28564