Saturday, September 24, 2016

Delphi tutorial MS Access database with KADao

Delphi tutorial MS Access database with KADao

This is Delphi Tutorial about creating and manipulating MS Access database
with KADAo component ( http://www.kadao.dir.bg/ ) ,
and as usual you can find here source code for this app,
and also exe files at address : https://drive.google.com/open?id=0B_njK7HczCjDWkdtbTVseExyYW8




Here is the video :



Source code for this app example :

(code style formatted by http://hilite.me/ )



unit MainForm

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, KDaoTable, KDaoDataBase, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
lbTblName: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
Button5: TButton;
Button6: TButton;
Database1: TKADaoDatabase;
Table1: TKADaoTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button7: TButton;
lbDbName: TLabel;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.InitialDir:=ExtractFilePath(Application.ExeName) ;
if SaveDialog1.Execute() then
begin

Database1.Close;
Database1.CreateAccessDatabase(SaveDialog1.FileName+'.mdb');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
TM:TKADaoTableManager;
begin
if Database1.Connected=False then Exit;
try
Database1.Connected:=true;
TM:=TKADaoTableManager.Create(Database1);
TM.TableName:=InputBox('Insert table name','Table name','Table 1');
TM.FieldDefs.Add('Field 1',ftInteger,0,False);
TM.FieldDefs.Add('Field 2',ftString,100,False);
TM.FieldDefs.Add('Field 3',ftDate,0,False);
TM.IndexDefs.Add('Field 1','Field 1',[ixPrimary,ixUnique]);
TM.IndexDefs.Add('Field 2','Field 2',[]);
TM.CreateTable;
lbTblName.Caption:=TM.TableName;
TM.Free;

Database1.Connected:=False;
Database1.Open;
ComboBox1.Items.Clear;
ComboBox1.Items.AddStrings(Database1.TableNames);
ComboBox1.ItemIndex:=0;


except
ShowMessage('Error creating table');
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute() then
begin
OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);
Database1.Close;
Database1.Database:=OpenDialog1.FileName;
Database1.Open;
lbDbName.Caption:=Database1.Database;
ComboBox1.Items.Clear;
ComboBox1.Items.AddStrings(Database1.TableNames);
ComboBox1.ItemIndex:=0;
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if (Database1.Connected=True) and ( ComboBox1.Text<>'') then
begin
Table1.Close;
Table1.TableName:=ComboBox1.Text;
Table1.Open;

DBGrid1.Columns[0].Width:=100;
DBGrid1.Columns[1].Width:=200;
DBGrid1.Columns[2].Width:=100;

end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
if (Edit1.Text<>'') then begin

Table1.Insert;
Table1.Append;
Table1.FieldByName('Field 1').AsInteger:=StrToInt(Edit1.Text);
Table1.FieldByName('Field 2').AsString:=Edit2.Text;
Table1.FieldByName('Field 3').AsDateTime:=StrToDate(Edit3.Text);
Table1.Post;

end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Table1.Edit;
Table1.UpdateRecord;
Table1.Post;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Table1.Delete;
end;

end.

0 comments:

Post a Comment

Popular Posts

Recent Posts

Unordered List

Text Widget

Pages

Search This Blog

Powered by Blogger.

Contributors

Text Widget