home *** CD-ROM | disk | FTP | other *** search
/ Delphi Developer's Kit 1996 / Delphi Developer's Kit 1996.iso / power / dbgd / dbexamp.pas next >
Encoding:
Pascal/Delphi Source File  |  1995-12-22  |  1.8 KB  |  91 lines

  1. {
  2.  Designer:    Craig Ward
  3.  Date:        23/8/95
  4.  
  5.  Function:    Brief example of how to instigate copy\insert routines for DBGrids
  6. *******************************************************************************}
  7. unit DBGD;
  8.  
  9. interface
  10.  
  11. uses
  12.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  13.   Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;
  14.  
  15. type
  16.   TForm1 = class(TForm)
  17.     Database1: TDatabase;
  18.     Table1: TTable;
  19.     Table1Letter: TStringField;
  20.     DataSource1: TDataSource;
  21.     Table2: TTable;
  22.     Table2Letter: TStringField;
  23.     DataSource2: TDataSource;
  24.     DBGrid1: TDBGrid;
  25.     DBGrid2: TDBGrid;
  26.     Button1: TButton;
  27.     Button2: TButton;
  28.     procedure Button1Click(Sender: TObject);
  29.     procedure Button2Click(Sender: TObject);
  30.   private
  31.     { Private declarations }
  32.     procedure CopyRecs;
  33.     procedure InsertRecs;
  34.   public
  35.     { Public declarations }
  36.   end;
  37.  
  38. var
  39.   Form1: TForm1;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44.  
  45. {copy routine}
  46. procedure TForm1.CopyRecs;
  47. var
  48.  i: integer;
  49.  s: string;
  50. begin
  51.  s := table1MyFieldName.value;
  52.  table2.Findkey([s]);
  53.     table2.edit;
  54.     for i := 0 to Table1.FieldCount -1 do
  55.       table2.Fields[i].Assign(table1.fields[i]);
  56.       table2.post;
  57. end;
  58.  
  59. {insert routine}
  60. procedure TForm1.InsertRecs;
  61. var
  62.  i: integer;
  63.  s: string;
  64. begin
  65.  {search for key - in case of key violations}
  66.  s := table1MyFieldName.value;
  67.  if table2.Findkey([s]) then
  68.   begin
  69.    showMessage('Can not insert record due to Key Violation!');
  70.    exit;
  71.   end;
  72.  table2.edit;
  73.  table2.insert;
  74.     for i := 0 to Table1.FieldCount -1 do
  75.       table2.Fields[i].Assign(table1.fields[i]);
  76.       table2.post;
  77. end;
  78.  
  79.  
  80. procedure TForm1.Button1Click(Sender: TObject);
  81. begin
  82.  CopyRecs;
  83. end;
  84.  
  85. procedure TForm1.Button2Click(Sender: TObject);
  86. begin
  87.  InsertRecs;
  88. end;
  89.  
  90. end.
  91.