home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / zkuste / delphi / kompon / d5 / ADO.ZIP / demos / CommandDemo / frmMain.pas < prev   
Pascal/Delphi Source File  |  2001-12-23  |  2KB  |  80 lines

  1. unit frmMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   AdoCommand, OleServer, AdoConnection, StdCtrls, ComCtrls, ToolWin,
  8.   AdoRecordset, Ado21Int, AdoParameter;
  9.  
  10. type
  11.   TfmMain = class(TForm)
  12.     Conn: TConnection;
  13.     Command: TCommand;
  14.     ToolBar1: TToolBar;
  15.     ListView: TListView;
  16.     rst: TRecordset;
  17.     btnUpdate: TToolButton;
  18.     procedure FormCreate(Sender: TObject);
  19.     procedure btnUpdateClick(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.     procedure LoadData;
  25.   end;
  26.  
  27. var
  28.   fmMain: TfmMain;
  29.  
  30. implementation
  31.  
  32. {$R *.DFM}
  33.  
  34. procedure TfmMain.LoadData;
  35. var lvItem: TListItem;
  36. begin
  37.   rst.Requery;
  38.   ListView.Items.BeginUpdate;
  39.   try
  40.     rst.MoveFirst;
  41.     ListView.Items.Clear;
  42.     while not rst.EOF do begin
  43.       lvItem:= ListView.Items.Add;
  44.       lvItem.Caption:= rst.FieldAsStr['PartNo'];
  45.       lvItem.SubItems.Add(rst.FieldAsStr['Description']);
  46.       lvItem.SubItems.Add(rst.FieldAsStr['Cost']);
  47.       rst.MoveNext;
  48.     end; 
  49.   finally
  50.     ListView.Items.EndUpdate;
  51.   end;   
  52. end;
  53.  
  54. procedure TfmMain.FormCreate(Sender: TObject);
  55. const ConnStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";'
  56.                +'User ID=Admin;'
  57.                +'Data Source=%s;'
  58.                +'Mode=Share Deny None;';
  59. begin
  60.   Conn.ConnectionString:= Format(ConnStr, [ChangeFileExt(ParamStr(0),'.mdb')]);
  61.   Conn.Open;
  62.   rst.Open;
  63.   LoadData;
  64. end;
  65.  
  66. procedure TfmMain.btnUpdateClick(Sender: TObject);
  67. var ParamArray : OleVariant;
  68.     Param: IParameter;
  69.     RecsAffected: integer;
  70. begin
  71.   Param:= Command.CreateParameter('UpdVal', adDouble, adParamInput, SizeOf(Double), 1.10);
  72.   ParamArray:= VarArrayOf([Param]);
  73.   Command.CommandText:= 'UPDATE Parts SET Cost = Cost * UpdVal';
  74.   Command.Execute(RecsAffected, ParamArray, adCmdText);
  75.   LoadData;
  76.   ShowMessageFmt('%d records updated', [RecsAffected]);
  77. end;
  78.  
  79. end.
  80.