unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
ADODataSet2: TADODataSet;
DataSource1: TDataSource;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select surname, name, patronymic from pokupatel';
ADODataSet1.Active:=true;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
ADODataSet2.Active:=false;
ADODataSet2.CommandText:='select name_tov from tovar '+
'where code_tov in '+
'(select code_tov from pokupka '+
'where code_pok in '+
'(select code_pok from pokupatel '+
'where surname='+''''+ADODataSet1.FieldValues['surname']+''''+
' and name='+''''+ADODataSet1.FieldValues['name']+''''+
' and patronymic='+''''+ADODataSet1.FieldValues['patronymic']+''''+'))';
ADODataSet2.Active:=true;
end;
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Form2.ShowModal;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;
type
TForm2 = class(TForm)
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
ADODataSet2: TADODataSet;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
ADOQuery1: TADOQuery;
ADODataSet3: TADODataSet;
procedure FormActivate(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses
Unit1;
{$R *.dfm}
procedure TForm2.FormActivate(Sender: TObject);
begin
Label1.Caption:=Form1.ADODataSet1.FieldValues['surname'];
Label2.Caption:=Form1.ADODataSet1.FieldValues['name'];
Label3.Caption:=Form1.ADODataSet1.FieldValues['patronymic'];
ADODataSet1.Active:=false;
ADODataSet1.CommandText:='select name_tov from tovar';
ADODataSet1.Active:=true;
end;
procedure TForm2.DBGrid1CellClick(Column: TColumn);
begin
ADODataSet2.Active:=false;
ADODataSet2.CommandText:='select * from tovar '+
'where name_tov='+''''+ADODataSet1.FieldValues['name_tov']+'''';
ADODataSet2.Active:=true;
Edit1.Text:=ADODataSet2.FieldValues['name_tov'];
Edit2.Text:=ADODataSet2.FieldValues['code_tov'];
Edit3.Text:=ADODataSet2.FieldValues['code_cat'];
Edit4.Text:=ADODataSet2.FieldValues['kolvo'];
Edit5.Text:=ADODataSet2.FieldValues['price'];
end;
procedure TForm2.Button1Click(Sender: TObject);
var n:Integer;
code_pok:Integer;
begin
ADODataSet3.Active:=false;
ADODataSet3.CommandText:='select max(n) as maxn from pokupka';
ADODataSet3.Active:=true;
n:=ADODataSet3.FieldValues['maxn'];
ADODataSet3.Active:=false;
ADODataSet3.CommandText:='select code_pok from pokupatel '+
'where surname='+''''+Label1.Caption+''''+
' and name='+''''+Label2.Caption+''''+
' and patronymic='+''''+Label3.Caption+'''';
ADODataSet3.Active:=true;
code_pok:=ADODataSet3.FieldValues['code_pok'];
ADOQuery1.SQL.Text:='insert into pokupka values ('+
IntToStr(n+1)+','+''''+Edit6.Text+''''+','+
IntToStr(code_pok)+','+Edit2.Text+','+Edit4.Text+','+Edit3.Text+')';
ADOQuery1.ExecSQL;
Form2.Close;
//Showmessage((ADOQuery1.SQL.Text));
end;
end.
|