Łap w załączniku ten działa.
.+
Używam Typhon32 wersja 6.2 a wersja FPC: 3.1.1
Kiedy kompiluję program pod Windows to działa bez problemu ale po podmianie dll na wersję dla WinCE wywala mi błąd
TApplication.HandleException Connect1 : no such table: pessoas [tak mam nazwaną tablice]
Stack trace:
$001B3690
$001B132C
$001B1F70
$001B5F94
$001B5E04
$0015C2B4
$0017F17C
$0017FA20
$0017F04C
$00020230
kod programu w całości
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, sqlite3conn, sqldb, FileUtil, Forms, Controls, Graphics,
Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Connect1: TSQLite3Connection;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
SQLQuery1: TSQLQuery;
SQLTransaction1: TSQLTransaction;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.frm}
{ TForm1 }
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//SQLiteLibraryName := 'sqlite3.7.16.1-arm4.dll';
SetBounds(0,22,Screen.Width,Screen.Height);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Connect1.DatabaseName:='\\demo.db';
try
SQLiteLibraryName := 'sqlite3.dll';
label3.Caption:= 'dll ok';
except
Label3.caption := 'nie zaladowało biblioteki';
end;
Connect1.Connected := True;
try
Connect1.Open;
SQLTransaction1.Active := True;
Connect1.ExecuteDirect('insert into pessoas("id", "nome") values (6, "test6");');
SQLTransaction1.Commit;
Label2.Caption := 'działa';
{ SQLQuery1.Close;
SQLQuery1.Clear;
//SQLQuery1.SQL.Add('create table nowa_tabela (ID integer Primary Key, NAME varchar(40))');
SQLQuery1.SQL.Add('select * from pessoas');
SQLQuery1.ExecSQL; }
except
// SQLQuery1.Close;
on E: EInOutError do
Label2.Caption := e.Message;
end;
end;
end.
pewnie czegoś nie zrobiłem w kodzie ale jeszcze nie wiem co :( - walczę dalej