1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| unit FntrBase;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, sqlite3conn, sqldb, Forms, Controls, Graphics, Dialogs;
type
{ TForm1 }
TForm1 = class(TForm)
SQLite3Connection: TSQLite3Connection;
SQLQuery: TSQLQuery;
SQLTransaction: TSQLTransaction;
procedure FormCreate(Sender: TObject);
private
public
procedure NewEmploye(V1, V2, V3, V4: String);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
if FileExists('Employes.db') then // Je recrée la base à chaque lancement
if not DeleteFile('Employes.db') then
begin
ShowMessage('Pas supprimé !');
Exit;
end;
SQLite3Connection.DatabaseName:= 'Employes.db';
SQLite3Connection.Open;
SQLTransaction.Active:= True;
SQLite3Connection.ExecuteDirect('CREATE TABLE CUSTOMER('+
'CUST_NO INTEGER NOT NULL,'+
'CUSTOMER VARCHAR(25) NOT NULL,'+
'CITY VARCHAR(25),'+
'COUNTRY VARCHAR(15),'+
'CONSTRAINT INTEG_60 PRIMARY KEY (CUST_NO));');
SQLTransaction.Commit; // Jusque là, ça marche ; la base est enregistrée
NewEmploye('1', 'Lapinou logiciel', 'Lanion', 'France'); // Ici, ça plante
end;
procedure TForm1.NewEmploye(V1, V2, V3, V4: String);
begin
SQLQuery.SQL.Text:= 'INSERT INTO CUSTOMER (CUST_NO, CUSTOMER, CITY, COUNTRY) VALUES ('+V1+','+V2+','+V3+','+V4+');';
SQLQuery.ExecSQL;
SQLTransaction.Commit;
end;
end. |
Partager