unit mainFrm;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, sqlite3conn, sqldb, db, FileUtil, Forms, Controls,
Graphics, Dialogs, DBGrids, DbCtrls, StdCtrls, ExtCtrls, LCLType, Menus,
ComCtrls;
type
{ TMainForm }
TMainForm = class(TForm)
Button1: TButton;
DS: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Conn: TSQLite3Connection;
Edit1: TEdit;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
menuClose: TMenuItem;
MenuItem3: TMenuItem;
menuAbout: TMenuItem;
Panel1: TPanel;
PopupMenu1: TPopupMenu;
SQL: TSQLQuery;
SB1: TStatusBar;
SQL1: TSQLQuery;
Tran: TSQLTransaction;
procedure Button1Click(Sender: TObject);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure DBNavigator1Click(Sender: TObject; Button: TDBNavButtonType);
procedure FormCreate(Sender: TObject);
procedure menuAboutClick(Sender: TObject);
procedure menuCloseClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.lfm}
{ TMainForm }
procedure TMainForm.DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState
);
begin
if (key=VK_RETURN) then
begin
SQL.UpdateMode:= UpWhereChanged;
SQL.ApplyUpdates;
Tran.Commit;
SQL.Close;
SQL.Open;
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
SQL1.Close;
SQL1.SQL.Text:='CREATE TABLE :TName(ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL)';
SQL1.Params.ParamByName('TName').AsString:= Edit1.Text;
SQL1.Open;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
SQL.Close;
SQL.Open;
DBGrid1.Columns[0].Visible:= false;
SB1.SimpleText:='Database loaed';
end;
procedure TMainForm.menuAboutClick(Sender: TObject);
begin
end;
procedure TMainForm.menuCloseClick(Sender: TObject);
begin
Conn.Connected:= false;
SQL.Close;
SQL1.Close;
end;
procedure TMainForm.DBNavigator1Click(Sender: TObject; Button: TDBNavButtonType);
begin
Case Button of
nbInsert:
begin
DBGrid1.SetFocus;
end;
nbPost:
begin
try
SQL.Edit;
SQL.UpdateMode:= UpWhereChanged;
SQL.ApplyUpdates;
Tran.Commit;
SQL.Close;
SQL.Open;
except
On E: EDatabaseError do
begin
MessageDlg('Error','A Database Error. Technical Message -> '+E.Message,mtError,[mbOK],0);
end;
end;
end;
nbDelete:
begin
try
SQL.Edit;
SQL.UpdateMode:= upWhereAll;
SQL.ApplyUpdates;
Tran.Commit;
SQL.Close;
SQL.Open;
except
On E: EDatabaseError do
begin
MessageDlg('Error','A Database Error. Technical Message -> '+E.Message,mtError,[mbOK],0);
end;
end;
end;
nbCancel:
begin
SQL.Close;
SQL.Open;;
end;
nbRefresh:
begin
SQL.Close;
SQL.Open;
end;
end;
end;
end.
Comments
0 B
|👍
/👎
0 B
|👍
/👎