Delphi Can
yeni kayıtta bildirim alma - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: yeni kayıtta bildirim alma (/showthread.php?tid=7271)



yeni kayıtta bildirim alma - ercanskose - 17-04-2023

arkadaşlar merhaba,

mysql veri tabanı kullanarak bir uygulama yapıyorum. aynı anda web siteside aynı veritabanını kullanıyor. arada bir servis yerine direk hosting den mysql e izin vererek bağlantı yapıyorum. sitedeki tüm kayıtları programda görüyorum. kayıt ekleyebiliyorum vs. buraya kadar herşey normal. fakat yapmak istediğim şey web sitesinden müşteri sipariş oluşturduğunda programda bir bildirim gelmesini istiyorum. bildirim ekranı için JvDesktopAlert kullanıyorum. arka planda sürekli kayıtları kontrol ettirerek yapabilirim fakat bu programı ağırlaştırdığı için bu yöntemi kullanmak istemiyorum. local çalıştığımda problem yok fakat hosting üzerinden olduğu için yeri geliyo internet yavaş oluyor veya hosting firmasında problem oluyor bu durumda hata alabiliyorum veya yavaşlama oluyor. en stabil şekilde nasıl bir yol izleyebilirim. trigger ile yapıldığını söylediler fakat bu yöntemle hiç çalışmadım. yardımcı olacak arkadaşlar varmı. teşekkürler


Cvp: yeni kayıtta bildirim alma - RAD Coder - 17-04-2023

Database Event ile yeni kayıt bilgisini albilirsiniz.


yeni kayıtta bildirim alma - maydin60 - 15-05-2023

procedure TForm1.BtnOKClick(Sender: TObject);
begin

if (Query1 .State in [DsInsert]) then

if Query1 .Modified then

Begin
Query1 .Edit ;
Query1 .Post;
showmessage('yeni kayıt girildi');
end ;
end;
*****************************************************************
veya
procedure TForm.Query1NewRecord(DataSet: TDataSet);

begin
DataSet.FieldByName('GRUP_KODU').AsString := 'aa001';
DataSet.FieldByName('STOK_GRUP_ADI').AsString := AltGrupIsmi;
DataSet.FieldByName('STOK_KODU').AsString := IntToStr(IntToStr(MaxStokKoduBul(GrNoGonder));

end;


yeni kayıtta bildirim alma - ugorkem - 15-05-2023

Aşağıdaki konuyu incelemek size fayda sağlayacaktır.

https://www.delphican.com/showthread.php?tid=3080


yeni kayıtta bildirim alma - mrmarman - 15-05-2023

@ercanskose

LAN üzerinden bir veritabanı olsa tamam da WAN üzerindeki veritabanına direkt erişim yapmak sakıncalı. (Bu nedenle insert event olayı uzaktan yakalamak amaç olsa dahi olsa sakıncalı. )

Sakınca derken bağlantı kopmalar, farklı istemci adreslerine ip erişim yetkisi verme mecburiyeti, yapmamışsınızdır ama olası @ sembol ile ip kısıtsız veritabanını genel erişime açmak vs. 

Bunun yerine web tarafında yeni kayıt var mı bayrağı döndürecek bir yapı ekleyip (küçük bir php kod local çalışır mesela) buna parametre ile elinizdeki görüntülenen son kayıt id'sini gönderip, üzerine yeni kayıt varsa true/false sonuç göre sorgu tazelemesi yapmak daha güvenlidir.

Zaten sorguları da xml veya json vb bir layer üzerinden aldığınız taktirde güvenlik ile iletişim sağlığını maksizime etmiş olursunuz.  Web bağlantı kaynaklı kopmalar da yaşamamış olursunuz.

Bu bir yatırım tavsiyesidir. Mevcut projede bir yere gelmişseniz ve dönemiyorsanız bir başka projenizde değerlensirirsiniz.


Cvp: yeni kayıtta bildirim alma - ercanskose - 26-06-2023

(15-05-2023, Saat: 14:14)mrmarman Adlı Kullanıcıdan Alıntı: @ercanskose

LAN üzerinden bir veritabanı olsa tamam da WAN üzerindeki veritabanına direkt erişim yapmak sakıncalı. (Bu nedenle insert event olayı uzaktan yakalamak amaç olsa dahi olsa sakıncalı. )

Sakınca derken bağlantı kopmalar, farklı istemci adreslerine ip erişim yetkisi verme mecburiyeti, yapmamışsınızdır ama olası @ sembol ile ip kısıtsız veritabanını genel erişime açmak vs. 

Bunun yerine web tarafında yeni kayıt var mı bayrağı döndürecek bir yapı ekleyip (küçük bir php kod local çalışır mesela) buna parametre ile elinizdeki görüntülenen son kayıt id'sini gönderip, üzerine yeni kayıt varsa true/false sonuç göre sorgu tazelemesi yapmak daha güvenlidir.

Zaten sorguları da xml veya json vb bir layer üzerinden aldığınız taktirde güvenlik ile iletişim sağlığını maksizime etmiş olursunuz.  Web bağlantı kaynaklı kopmalar da yaşamamış olursunuz.

Bu bir yatırım tavsiyesidir. Mevcut projede bir yere gelmişseniz ve dönemiyorsanız bir başka projenizde değerlensirirsiniz.

hostingteki mysql üzerinden çalışıyorum. aradaki kopmalara çözüm buldum problem yok sadece event olayını hiç kullanmadım. zaten şu anda farklı bir konuya yoğunlaştım. onun için ilerleyemedim. teşekkür ederim herkese.