Veritabanı Mssql Server insert, update, delete
Veritabanı Mssql Server insert, update, delete
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
Firebirrdde mesela IBEVENTs diye bir bileşen var forumdada buldum. Peki sql server için ne yapmamız gerekli...Görüşlerinizi bekliorum
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...
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.
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
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
unit1.pas
unit1.dfm
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);
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.
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!!