fmc1962

Untitled

Oct 30th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 3.51 KB | None | 0 0
  1. unit mainFrm;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, sqlite3conn, sqldb, db, FileUtil, Forms, Controls,
  9.     Graphics, Dialogs, DBGrids, DbCtrls, StdCtrls, ExtCtrls, LCLType, Menus,
  10.     ComCtrls;
  11.  
  12. type
  13.  
  14.   { TMainForm }
  15.  
  16.   TMainForm = class(TForm)
  17.     Button1: TButton;
  18.     DS: TDataSource;
  19.     DBGrid1: TDBGrid;
  20.     DBNavigator1: TDBNavigator;
  21.     Conn: TSQLite3Connection;
  22.     Edit1: TEdit;
  23.     MainMenu1: TMainMenu;
  24.     MenuItem1: TMenuItem;
  25.     menuClose: TMenuItem;
  26.     MenuItem3: TMenuItem;
  27.     menuAbout: TMenuItem;
  28.     Panel1: TPanel;
  29.     PopupMenu1: TPopupMenu;
  30.     SQL: TSQLQuery;
  31.     SB1: TStatusBar;
  32.     SQL1: TSQLQuery;
  33.     Tran: TSQLTransaction;
  34.     procedure Button1Click(Sender: TObject);
  35.     procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
  36.     procedure DBNavigator1Click(Sender: TObject; Button: TDBNavButtonType);
  37.     procedure FormCreate(Sender: TObject);
  38.     procedure menuAboutClick(Sender: TObject);
  39.     procedure menuCloseClick(Sender: TObject);
  40.   private
  41.     { private declarations }
  42.   public
  43.     { public declarations }
  44.   end;
  45.  
  46. var
  47.   MainForm: TMainForm;
  48.  
  49. implementation
  50.  
  51. {$R *.lfm}
  52.  
  53. { TMainForm }
  54.  
  55. procedure TMainForm.DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState
  56.         );
  57. begin
  58.   if (key=VK_RETURN) then
  59.   begin
  60.     SQL.UpdateMode:= UpWhereChanged;
  61.     SQL.ApplyUpdates;
  62.     Tran.Commit;
  63.     SQL.Close;
  64.     SQL.Open;
  65.   end;
  66. end;
  67.  
  68. procedure TMainForm.Button1Click(Sender: TObject);
  69. begin
  70.   SQL1.Close;
  71.   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)';
  72.   SQL1.Params.ParamByName('TName').AsString:= Edit1.Text;
  73.   SQL1.Open;
  74. end;
  75.  
  76. procedure TMainForm.FormCreate(Sender: TObject);
  77. begin
  78.   SQL.Close;
  79.   SQL.Open;
  80.   DBGrid1.Columns[0].Visible:= false;
  81.   SB1.SimpleText:='Database loaed';
  82. end;
  83.  
  84. procedure TMainForm.menuAboutClick(Sender: TObject);
  85. begin
  86.  
  87. end;
  88.  
  89. procedure TMainForm.menuCloseClick(Sender: TObject);
  90. begin
  91.    Conn.Connected:= false;
  92.    SQL.Close;
  93.    SQL1.Close;
  94. end;
  95.  
  96. procedure TMainForm.DBNavigator1Click(Sender: TObject; Button: TDBNavButtonType);
  97. begin
  98.   Case Button of
  99.     nbInsert:
  100.             begin
  101.             DBGrid1.SetFocus;
  102.         end;
  103.     nbPost:
  104.                 begin
  105.                 try
  106.                    SQL.Edit;
  107.                    SQL.UpdateMode:= UpWhereChanged;
  108.                    SQL.ApplyUpdates;
  109.                    Tran.Commit;
  110.                    SQL.Close;
  111.                    SQL.Open;
  112.         except
  113.                    On E: EDatabaseError do
  114.                    begin
  115.                       MessageDlg('Error','A Database Error.  Technical Message -> '+E.Message,mtError,[mbOK],0);
  116.            end;
  117.             end;
  118.                 end;
  119.     nbDelete:
  120.                 begin
  121.                 try
  122.                   SQL.Edit;
  123.                   SQL.UpdateMode:= upWhereAll;
  124.                   SQL.ApplyUpdates;
  125.                   Tran.Commit;
  126.                   SQL.Close;
  127.                   SQL.Open;
  128.             except
  129.                   On E: EDatabaseError do
  130.                   begin
  131.                     MessageDlg('Error','A Database Error.  Technical Message -> '+E.Message,mtError,[mbOK],0);
  132.               end;
  133.             end;
  134.                 end;
  135.     nbCancel:
  136.                 begin
  137.                    SQL.Close;
  138.                    SQL.Open;;
  139.             end;
  140.     nbRefresh:
  141.                 begin
  142.                    SQL.Close;
  143.                    SQL.Open;
  144.             end;
  145.   end;
  146. end;
  147.  
  148. end.
Advertisement
Add Comment
Please, Sign In to add comment