Veritabanı Mssql Server insert, update, delete

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Veritabanı Mssql Server insert, update, delete

Mesaj gönderen delphist »

S.a. Arkadaşlar, Sql server kullanıyorum Delphi tarafında bi clientta bi veri güncellendiği zaman, girildiği zaman veya silindiği zaman nasıl haberim olabilir ki diğer clientlardaki table querylheri güncelleyim haberdar edeyim. Bunu bir türlü yapamıyorum. Bu benim için büyük sıkıntı yaratıyor.

Firebirrdde mesela IBEVENTs diye bir bileşen var forumdada buldum. Peki sql server için ne yapmamız gerekli...Görüşlerinizi bekliorum
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

bir trigger işini görebilir.
tabloya yapılan insert update işlemlerini tetiklettirebilirsin.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

@Fahrettin abinin makalesini bir incele

viewtopic.php?t=644&postdays=0&postorder=asc&start=0
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Hocam. Yanlış anladınız. Delphi tarafında tabloları ve querylerin bu durumlara göre refresh edilmesinden bahsediyordum ben...Yani başka bir kullanıcı kayıt girdiği zaman diğer bi kullanıcının diğer kayıt yapıldığı anda datasetinin refresh edilip diğer kaydı görmesi durumu veya formlar arasındada aynı durum geçerli...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Firebird de bu iş IB/FIB EventAlerter ile yapılıyor, ms-sql de bilemiyorum :roll:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

ms sql severda sanırım böyle birşey yok. Ama sana bir fikir vereyim, logo da eğer birisi bir faturanın veya siparişin içine girmişse diğer kullanıcıların girmesine izin vermiyor. Böylece değişiklik yapılırken karışıklık önlenmiş oluyor. Yenilenen kayıtların görünmesi için de korkarım f5 yapmaları gerekiyor. Ama eğer istediğin çözümü bulabilirsen bizimle de paylaş biz de öğrenelim.
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Ama bence böle bir durum logodaki gibi çok hantal ve sıkıntılı olmalı...Hemde teknoloji kullanırken teknolojisiz kalmak gibi bir şey...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Firebird için EventAlert kullanmadan Timer larla aşağıdaki gibi bir örnek yaptım belki fikir verir. İki kullanıcı içindir, daha fazla kullanıcı için geliştirmek gerekir :wink:
Program aynı PC de veya farklı iki PC de çalıştırılarak test edilebilir. Birinde yapılan bir değişiklik COMMIT edildiğinde diğerinde de güncelleniyor.
FB_TEST.fdb DDL i

Kod: Tümünü seç

/******************************************************************************/
/****         Generated by IBExpert 2005.09.25 21.03.2007 14:57:06         ****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES WIN1254;

CREATE DATABASE 'FB_TEST.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 2048
DEFAULT CHARACTER SET WIN1254;



/******************************************************************************/
/****                              Generators                              ****/
/******************************************************************************/

CREATE GENERATOR TABLO1_ID_GEN;
SET GENERATOR TABLO1_ID_GEN TO 54;



/******************************************************************************/
/****                                Tables                                ****/
/******************************************************************************/



CREATE TABLE TABLO1 (
    ID          INTEGER NOT NULL,
    ADI_SOYADI  VARCHAR(30)
);


CREATE TABLE TETIKLEME_TBL (
    TABLO_ADI  VARCHAR(10) NOT NULL,
    DEGISTI    SMALLINT,
    HANDLE     INTEGER
);




/******************************************************************************/
/****                             Primary Keys                             ****/
/******************************************************************************/

ALTER TABLE TABLO1 ADD CONSTRAINT PK_TABLO1 PRIMARY KEY (ID);
ALTER TABLE TETIKLEME_TBL ADD CONSTRAINT PK_TETIKLEME_TBL PRIMARY KEY (TABLO_ADI);
unit1.pas

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, DB, IBCustomDataSet, Grids, DBGrids,
  IBDatabase, StdCtrls, Buttons, IBQuery;

type
  TForm1 = class(TForm)
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBDataSet1: TIBDataSet;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    IBQuery1: TIBQuery;
    IBTransaction2: TIBTransaction;
    IBDataSet2: TIBDataSet;
    Timer1: TTimer;
    IBDataSet1ID: TIntegerField;
    IBDataSet1ADI_SOYADI: TIBStringField;
    IBDataSet2TABLO_ADI: TIBStringField;
    IBDataSet2DEGISTI: TSmallintField;
    IBDataSet2HANDLE: TIntegerField;
    procedure IBDataSet1AfterPost(DataSet: TDataSet);
    procedure IBDataSet1AfterCancel(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure IBDataSet1BeforeEdit(DataSet: TDataSet);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.IBDataSet1AfterPost(DataSet: TDataSet);
begin
//  IBQuery1.Active := False;
//  IBTransaction1.CommitRetaining;
end;

procedure TForm1.IBDataSet1AfterCancel(DataSet: TDataSet);
begin
//  IBQuery1.Active := False;
//  IBTransaction1.RollbackRetaining;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  if IBDatabase1.Connected then
    IBDatabase1.Connected := False;
  IBDatabase1.DatabaseName := ExtractFilePath(Application.Exename) + 'FB_TEST.FDB';
  IBDatabase1.Connected := True;
  IBDatabase1.Open;
  if IBTransaction1.Active then
    IBTransaction1.Active := False;
  IBTransaction1.Active := True;
  // IBTransaction AloowAutoStart := False ise
  // IBDatabase1.Open; dan sonra IBTransaction1.StartTransaction;  yapılmalı!
  // IBTransaction1.StartTransaction;

  IBDataSet1.Open;

  if IBTransaction2.Active then
    IBTransaction2.Active := False;
  IBTransaction2.Active := True;
  IBDataSet2.Open;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  IBDataSet1.Close;
  IBDatabase1.Close;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  IBDataSet1.Insert;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  IBDataSet1.Delete;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  if (IBDataSet1.State in [dsEdit, dsInsert]) then
    IBDataSet1.Post;
  IBTransaction1.CommitRetaining;

///  IBDataSet2.Open;
  IBTransaction2.RollbackRetaining;
  if IBDataSet2.Locate('TABLO_ADI', 'TABLO1', []) then
    IBDataSet2.Edit
  else
    IBDataSet2.Insert;
  IBDataSet2.FieldByName('TABLO_ADI').AsString := 'TABLO1';
  IBDataSet2.FieldByName('DEGISTI').AsInteger := 1; // değişti
  IBDataSet2.FieldByName('HANDLE').AsInteger := Application.Handle;
  IBDataSet2.Post;
  IBTransaction2.CommitRetaining;
///  IBDataSet2.Close;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
  IBTransaction1.RollbackRetaining;
  BitBtn6Click(Self);
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
  if IBDataSet1.Modified then
    if MessageBox(0, 'Değişiklikler kaydedilmedi!'+#13+#10+''+#13+#10+'Bu işlem tüm değişiklikleri iptal eder ve dosyayı en son COMMIT sonrasına getirir!', '', MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) <> idYes then
      exit;

  if IBDataSet1.Active then
    IBDataSet1.Close;

  if IBTransaction1.Active then
    IBTransaction1.Active := False;
  IBTransaction1.Active := True;

  IBDataSet1.Open;
end;

procedure TForm1.IBDataSet1BeforeEdit(DataSet: TDataSet);
begin
//  IBQuery1.Active := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
   Sakla: TBookmark;
begin
  if (IBDataSet1.State in [dsEdit, dsInsert]) then
    Exit;

  if IBDataSet2.Active then
    IBDataSet2.Close;
  IBDataSet2.Open;
  IBTransaction2.RollbackRetaining; // tampon belleği boşaltması için.
  if not IBDataSet2.Locate('TABLO_ADI', 'TABLO1', []) then
    Exit;
//Caption := Caption + IBDataSet2.FieldByName('DEGISTI').AsString;
  if (IBDataSet2.FieldByName('DEGISTI').AsInteger = 0)
      or (IBDataSet2.FieldByName('HANDLE').AsInteger = Application.Handle) then
    Exit;
  IBDataSet2.Edit;
  IBDataSet2.FieldByName('TABLO_ADI').AsString := 'TABLO1';
  IBDataSet2.FieldByName('DEGISTI').AsInteger := 0; // 1.nci pc okudu.
  IBDataSet2.FieldByName('HANDLE').AsInteger := -1;
  IBDataSet2.Post;
  IBTransaction2.CommitRetaining;

  Sakla := IBDataSet1.GetBookmark;

  BitBtn4Click(Self);

  IBDataSet1.GotoBookmark(Sakla);
  IBDataSet1.FreeBookmark(Sakla);
end;

end.
unit1.dfm

Kod: Tümünü seç

object Form1: TForm1
  Left = 517
  Top = 150
  BorderIcons = [biSystemMenu, biMinimize]
  BorderStyle = bsSingle
  Caption = '.: FB - Test :.  Kayıt değişikliğini algılar - R.Şimşek'
  ClientHeight = 287
  ClientWidth = 475
  Color = clBtnFace
  Font.Charset = TURKISH_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  OnClose = FormClose
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 16
    Top = 23
    Width = 350
    Height = 209
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = TURKISH_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'MS Sans Serif'
    TitleFont.Style = []
    Columns = <
      item
        Expanded = False
        FieldName = 'ID'
        Width = 114
        Visible = True
      end
      item
        Expanded = False
        FieldName = 'ADI_SOYADI'
        Width = 201
        Visible = True
      end>
  end
  object DBNavigator1: TDBNavigator
    Left = 16
    Top = 239
    Width = 350
    Height = 33
    DataSource = DataSource1
    TabOrder = 1
  end
  object BitBtn1: TBitBtn
    Left = 376
    Top = 24
    Width = 89
    Height = 29
    Hint = 'yeni kayıt ekle'
    Caption = '&Ekle'
    ModalResult = 8
    ParentShowHint = False
    ShowHint = True
    TabOrder = 2
    Visible = False
    OnClick = BitBtn1Click
    Glyph.Data = {
      36050000424D3605000000000000360400002800000010000000100000000100
      08000000000000010000130B0000130B000000010000000100002184290039B5
      520063A563006BAD840094DE8C00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00050505050505
      0505050505050505050505050505050503000003050505050505050505050505
      0204010005050505050505050505050502040100050505050505050505050505
      0204010005050505050505050505050502040100050505050505050300000000
      0004010000000000030505020101010101010101010101010005050204040404
      0404010404040404000505030202020202040100000000000305050505050505
      0204010005050505050505050505050502040100050505050505050505050505
      0204010005050505050505050505050502040100050505050505050505050505
      0302020305050505050505050505050505050505050505050505}
  end
  object BitBtn3: TBitBtn
    Left = 376
    Top = 112
    Width = 89
    Height = 29
    Hint = 'TR.yi bitir'#13#10'CommitRetaining'
    Caption = '&Commit'
    ParentShowHint = False
    ShowHint = True
    TabOrder = 3
    OnClick = BitBtn3Click
    Kind = bkOK
  end
  object BitBtn4: TBitBtn
    Left = 376
    Top = 156
    Width = 89
    Height = 29
    Hint = 'geri al'#13#10'RollbackRetaining'
    Caption = '&RollBack'
    ParentShowHint = False
    ShowHint = True
    TabOrder = 4
    OnClick = BitBtn4Click
    Kind = bkIgnore
  end
  object BitBtn2: TBitBtn
    Left = 376
    Top = 68
    Width = 89
    Height = 29
    Hint = 'kayıtı sil'
    Caption = '&Sil'
    ModalResult = 8
    ParentShowHint = False
    ShowHint = True
    TabOrder = 5
    Visible = False
    OnClick = BitBtn2Click
    Glyph.Data = {
      36050000424D3605000000000000360400002800000010000000100000000100
      08000000000000010000130B0000130B000000010000000100000021A5006B84
      C6000029E700526BF700638CF7009494F700FF00FF009CB5FF009CBDFF00B5C6
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00060606060606
      0606060606060606060606060606060606060606060606060606060606060606
      0606060606060606060606060606060606060606060606060606060606060606
      0606060606060606060606060606060606060606060606060606060100000000
      0000000000000000010606000502020202020202020202020006060009080807
      0707040404040303000606010000000000000000000000000106060606060606
      0606060606060606060606060606060606060606060606060606060606060606
      0606060606060606060606060606060606060606060606060606060606060606
      0606060606060606060606060606060606060606060606060606}
  end
  object BitBtn5: TBitBtn
    Left = 376
    Top = 249
    Width = 89
    Height = 32
    Caption = '&Kapat'
    Font.Charset = TURKISH_CHARSET
    Font.Color = clMaroon
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 6
    Kind = bkClose
  end
  object BitBtn6: TBitBtn
    Left = 376
    Top = 200
    Width = 89
    Height = 29
    Hint = 'geri al'#13'yenile'
    Caption = '&Yenile'
    ParentShowHint = False
    ShowHint = True
    TabOrder = 7
    OnClick = BitBtn6Click
    Kind = bkHelp
  end
  object IBDatabase1: TIBDatabase
    Connected = True
    DatabaseName = 'FB_TEST.FDB'
    Params.Strings = (
      'user_name=sysdba'
      'password=masterkey'
      'lc_ctype=WIN1254')
    LoginPrompt = False
    DefaultTransaction = IBTransaction1
    AllowStreamedConnected = False
    Left = 47
    Top = 80
  end
  object IBTransaction1: TIBTransaction
    Active = True
    DefaultDatabase = IBDatabase1
    DefaultAction = TACommitRetaining
    Params.Strings = (
      'read_committed'
      'rec_version'
      'nowait')
    Left = 119
    Top = 80
  end
  object IBDataSet1: TIBDataSet
    Database = IBDatabase1
    Transaction = IBTransaction1
    AfterCancel = IBDataSet1AfterCancel
    AfterDelete = IBDataSet1AfterPost
    AfterPost = IBDataSet1AfterPost
    BeforeEdit = IBDataSet1BeforeEdit
    DeleteSQL.Strings = (
      'delete from TABLO1'
      'where'
      '  ID = :OLD_ID')
    InsertSQL.Strings = (
      'insert into TABLO1'
      '  (ADI_SOYADI, ID)'
      'values'
      '  (:ADI_SOYADI, :ID)')
    RefreshSQL.Strings = (
      'Select '
      '  ID,'
      '  ADI_SOYADI'
      'from TABLO1 '
      'where'
      '  ID = :ID')
    SelectSQL.Strings = (
      'select * from TABLO1')
    ModifySQL.Strings = (
      'update TABLO1'
      'set'
      '  ADI_SOYADI = :ADI_SOYADI,'
      '  ID = :ID'
      'where'
      '  ID = :OLD_ID')
    GeneratorField.Field = 'ID'
    GeneratorField.Generator = 'TABLO1_ID_GEN'
    Left = 224
    Top = 80
    object IBDataSet1ID: TIntegerField
      FieldName = 'ID'
      Origin = '"TABLO1"."ID"'
      ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
      Required = True
    end
    object IBDataSet1ADI_SOYADI: TIBStringField
      FieldName = 'ADI_SOYADI'
      Origin = '"TABLO1"."ADI_SOYADI"'
      Size = 30
    end
  end
  object DataSource1: TDataSource
    DataSet = IBDataSet1
    Left = 288
    Top = 80
  end
  object IBQuery1: TIBQuery
    Database = IBDatabase1
    Transaction = IBTransaction1
    DataSource = DataSource1
    SQL.Strings = (
      'select * from TABLO1 where ID = :ID for update with lock')
    Left = 300
    Top = 145
    ParamData = <
      item
        DataType = ftInteger
        Name = 'ID'
        ParamType = ptUnknown
        Size = 4
      end>
  end
  object IBTransaction2: TIBTransaction
    DefaultDatabase = IBDatabase1
    DefaultAction = TACommitRetaining
    Params.Strings = (
      'read_committed'
      'rec_version'
      'nowait')
    Left = 120
    Top = 165
  end
  object IBDataSet2: TIBDataSet
    Database = IBDatabase1
    Transaction = IBTransaction2
    DeleteSQL.Strings = (
      'delete from tetikleme_tbl'
      'where'
      '  TABLO_ADI = :OLD_TABLO_ADI')
    InsertSQL.Strings = (
      'insert into tetikleme_tbl'
      '  (DEGISTI, HANDLE, TABLO_ADI)'
      'values'
      '  (:DEGISTI, :HANDLE, :TABLO_ADI)')
    RefreshSQL.Strings = (
      'Select *'
      'from tetikleme_tbl '
      'where'
      '  TABLO_ADI = :TABLO_ADI')
    SelectSQL.Strings = (
      'select * from tetikleme_tbl')
    ModifySQL.Strings = (
      'update tetikleme_tbl'
      'set'
      '  DEGISTI = :DEGISTI,'
      '  HANDLE = :HANDLE,'
      '  TABLO_ADI = :TABLO_ADI'
      'where'
      '  TABLO_ADI = :OLD_TABLO_ADI')
    Left = 224
    Top = 160
    object IBDataSet2TABLO_ADI: TIBStringField
      FieldName = 'TABLO_ADI'
      Origin = '"TETIKLEME_TBL"."TABLO_ADI"'
      ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
      Required = True
      Size = 10
    end
    object IBDataSet2DEGISTI: TSmallintField
      FieldName = 'DEGISTI'
      Origin = '"TETIKLEME_TBL"."DEGISTI"'
    end
    object IBDataSet2HANDLE: TIntegerField
      FieldName = 'HANDLE'
      Origin = '"TETIKLEME_TBL"."HANDLE"'
    end
  end
  object Timer1: TTimer
    OnTimer = Timer1Timer
    Left = 171
    Top = 145
  end
end
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

Mesaj gönderen dynamo »

makaleler bölümüne ekledim:

viewtopic.php?t=19475

.
Cevapla