Помогите!!! Не могу понять почему из базы удаляеются сразув
От: mailo  
Дата: 29.03.03 08:33
Оценка:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,strutils;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    OD1: TOpenDialog;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
     DataModule2.IBDatabase1.Connected:=true;
 DataModule2.IBQuery1.Active:=true;
 DataModule2.IBTransaction1.Active:=true;
 DBGrid1.Columns.Items[1].Width:=280;
 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     DataModule2.IBDatabase1.Connected:=false;
 DataModule2.IBQuery1.Active:=false;
    DataModule2.IBTransaction1.Active:=false;
 end;

procedure TForm1.Button6Click(Sender: TObject);
begin
DataModule2.IBDatabase1.Connected:=false;
 DataModule2.IBQuery1.Active:=false;
    DataModule2.IBTransaction1.Active:=false;
close;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  BinFile: TFileStream;
  Buff: string;
begin

     // Create file stream.
    od1.Execute;
    BinFile := TFileStream.Create(od1.FileName, fmOpenRead or fmShareDenyWrite);
     try
       // Allocate memory for the buffer.
      SetLength(Buff, BinFile.Size);
       // Read file into buffer.
      BinFile.Read(Buff[1], BinFile.Size);
       // Assign SQL statement to query.
//      datamodule2.IBTransaction1.StartTransaction;
//      DataModule2.IBQuery1.Open;
     datamodule2.IBQuery1.SQL.Clear ;
     datamodule2.IBQuery1.SQL.Add('INSERT INTO BAZA (NAME,"TYPE","FILE")');
     datamodule2.IBQuery1.SQL.Add('VALUES (:name,:type,:buff)');

//datamodule2.IBQuery1.Params[0].Asinteger := 3;
datamodule2.IBQuery1.Params[0].AsString := od1.FileName ;
datamodule2.IBQuery1.Params[1].AsString := RightStr(od1.FileName,3);
datamodule2.IBQuery1.Params[2].AsString := buff;
DataModule2.IBQuery1.Prepare;
datamodule2.IBQuery1.ExecSQL;

//datamodule2.IBQuery1.Refresh;
//dbgrid1.Refresh;
datamodule2.IBTransaction1.Commit ;
datamodule2.IBQuery1.SQL.Clear;
datamodule2.IBQuery1.SQL.Add( 'select * from BAZA; ') ;
DataModule2.IBQuery1.Active:=true;
DBGrid1.Columns.Items[1].Width:=280;
//datamodule2.IBDataSet1.Refresh;
//dbgrid1.Repaint ;
//dbgrid1.Refresh ;
finally
BinFile.Free;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
    var id: string;

    begin

  DBGrid1.SelectedIndex:=0;
  id:=DBGrid1.SelectedField.Text;

   datamodule2.IBQuery1.SQL.Clear;
   datamodule2.IBQuery1.SQL.Add('DELETE FROM BAZA ');
   datamodule2.IBQuery1.SQL.Add('WHERE ID = id');
     DataModule2.IBQuery1.Prepare;
     datamodule2.IBQuery1.ExecSQL;
        datamodule2.IBTransaction1.Commit ;
        datamodule2.IBQuery1.SQL.Clear;
        datamodule2.IBQuery1.SQL.Add( 'select * from BAZA; ') ;
       DataModule2.IBQuery1.Active:=true;
        DBGrid1.Columns.Items[1].Width:=280;
end;

procedure TForm1.Button5Click(Sender: TObject);
var id: string;
begin
  DBGrid1.SelectedIndex:=0;
  id:=DBGrid1.SelectedField.Text;
  Memo1.Text:=id;
end;

end.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.