unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, ZConnection, ZDataset, Forms, Controls,
Graphics, Dialogs, DBGrids, DbCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
DataSource1: TDataSource;
DBEdit1: TDBEdit;
DBGrid1: TDBGrid;
DBMemo1: TDBMemo;
DBNavigator1: TDBNavigator;
DBText1: TDBText;
ZConnection1: TZConnection;
ZQuery1: TZQuery;
Q_Inserimento: TZQuery;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
function GetLastId(): integer;
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
LastId: integer;
begin
LastId:=Self.GetLastId()+1;
Self.Q_Inserimento.SQL.Text:='INSERT INTO utenti(Id, Cognome,Nome,Citta)VALUES(' + IntToStr(LastId) + ',''Cognome' + IntToStr(LastId) + ''',''Nome' + IntToStr(LastId) + ''',''Città' + IntToStr(LastId) + ''');';
Self.Q_Inserimento.ExecSQL;
Self.ZQuery1.Refresh;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//svuoto la tabella
Self.Q_Inserimento.SQL.Text:='DELETE FROM utenti;';
Self.Q_Inserimento.ExecSQL;
Self.ZQuery1.Refresh;
end;
function TForm1.GetLastId(): integer;
var
ret: integer;
begin
ret:=0;
Self.Q_Inserimento.SQL.Text:='select Id as MaxId from utenti group by Id order by Id desc;';
Self.Q_Inserimento.Open;
if not Self.Q_Inserimento.EOF then
begin
Self.Q_Inserimento.First;
ret:=Self.Q_Inserimento.FieldByName('MaxId').AsInteger;
end;
Self.Q_Inserimento.Close;
result:=ret;
end;
end.
function TForm1.GetLastId(): integer;
var
ret: integer;
begin
ret:=0;
Self.Q_Inserimento.SQL.Text:='select Id as MaxId from utenti group by Id order by Id desc;';
Self.Q_Inserimento.Open;
if not Self.Q_Inserimento.EOF then
begin
Self.Q_Inserimento.First;
ret:=Self.Q_Inserimento.FieldByName('MaxId').AsInteger;
end;
Self.Q_Inserimento.Close;
result:=ret;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
LastId: integer;
begin
LastId:=Self.GetLastId()+1;
Self.Q_Inserimento.SQL.Text:='INSERT INTO utenti(Id, Cognome,Nome,Citta)VALUES(' + IntToStr(LastId) + ',''Cognome' + IntToStr(LastId) + ''',''Nome' + IntToStr(LastId) + ''',''Città' + IntToStr(LastId) + ''');';
Self.Q_Inserimento.ExecSQL;
Self.ZQuery1.Refresh;
end;