Lock Record
- ahmet_sinav
- Üye
- Mesajlar: 263
- Kayıt: 17 Nis 2004 07:44
- Konum: İzmir Yeşilyurt Ulu Cami
- İletişim:
Lock Record
aktif row uzerinde diger kullanicilarin herhangi bir islem yapmamasi icin bir sql clause var mi?
select * from tbl_ with lock seklinde bir komut var fakat bu sadece commit olana kadar calisiyor. ben aktif kayit secili durumda ise islem yapilmasini (delete,insert,update) engellemek istiyorum. bunu nasil gerceklestirebilirim? Arama yaptim bir compenent onerisi haricinde herhangibir bir sonuc bulamadim.
Saygilar;
select * from tbl_ with lock seklinde bir komut var fakat bu sadece commit olana kadar calisiyor. ben aktif kayit secili durumda ise islem yapilmasini (delete,insert,update) engellemek istiyorum. bunu nasil gerceklestirebilirim? Arama yaptim bir compenent onerisi haricinde herhangibir bir sonuc bulamadim.
Saygilar;
merhaba,
vt tarafında istediğiniz şekilde nasıl yapılacağı hakkında bilgi veremeyeceğim ama delphi tarafında eğer fb kullanıyor ve ib bileşenleri ile bağlanıyorsanız ilgili transaction u çift tıklayarak buradaki özelliklerinden kullanıcıların sadece okuma veya okuyup yazma gibi ayarlarını yapabilirsiniz.
kolay gelsin
vt tarafında istediğiniz şekilde nasıl yapılacağı hakkında bilgi veremeyeceğim ama delphi tarafında eğer fb kullanıyor ve ib bileşenleri ile bağlanıyorsanız ilgili transaction u çift tıklayarak buradaki özelliklerinden kullanıcıların sadece okuma veya okuyup yazma gibi ayarlarını yapabilirsiniz.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

- veliadiguzel
- Üye
- Mesajlar: 197
- Kayıt: 09 Tem 2003 02:11
- Konum: Gebze/Kocaeli
- İletişim:
S.A.
bu konuda aklıma ilk gelen kayıt bazında kilitleme icin dosyaya bir alan eklemek ve kayıt select oldugun da o alana Mesela "aktif" veya "1" gibi bir bilgi post etmek ve gene secerken bu alanı kontrol edip eğer "aktif veya "1" ise kayıt kullanılıyor gibi bir "hata" mesajı vermek.
boyle bir konu sanırım forumda da gecmisti
A.E.O.
bu konuda aklıma ilk gelen kayıt bazında kilitleme icin dosyaya bir alan eklemek ve kayıt select oldugun da o alana Mesela "aktif" veya "1" gibi bir bilgi post etmek ve gene secerken bu alanı kontrol edip eğer "aktif veya "1" ise kayıt kullanılıyor gibi bir "hata" mesajı vermek.
boyle bir konu sanırım forumda da gecmisti
A.E.O.
- ahmet_sinav
- Üye
- Mesajlar: 263
- Kayıt: 17 Nis 2004 07:44
- Konum: İzmir Yeşilyurt Ulu Cami
- İletişim:
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
- ahmet_sinav
- Üye
- Mesajlar: 263
- Kayıt: 17 Nis 2004 07:44
- Konum: İzmir Yeşilyurt Ulu Cami
- İletişim:
yok fibplus kullanmıyorum.
ibx bileşenleri kullanıyorum.
query'de
select * from tablo_adi with lock
şeklinde seçince transaction commitretain olana kadar kitli kalıyor.
kilidi kaldırmak için transaction.commitretaining demek gerekiyor.
buraya kadar prolem yok.
fakat kullanıcılar yapmak istedikleri işlemleri iptal etmek isteyebilirler. bu durumda nasıl bir yol izlemeliyim.
şöyleki
seçim esnasında
'select * from tablo where no='+edit.text+' with lock'
diyorum. bu seçimi editin on exit eventına yazdım.
farklı bir kayda konumlanmaya çalışırken eğer transactionı commitretain etmez isem kayıt transactionı commitretain edene kadar kilitli kalıyor. tabi başka kullanıcı da üzerinde işlem yapılmamasına rağmen o kayda gelince 'kayıt kilitli' mesajı alıyor.
Saygılar;
ibx bileşenleri kullanıyorum.
query'de
select * from tablo_adi with lock
şeklinde seçince transaction commitretain olana kadar kitli kalıyor.
kilidi kaldırmak için transaction.commitretaining demek gerekiyor.
buraya kadar prolem yok.
fakat kullanıcılar yapmak istedikleri işlemleri iptal etmek isteyebilirler. bu durumda nasıl bir yol izlemeliyim.
şöyleki
seçim esnasında
'select * from tablo where no='+edit.text+' with lock'
diyorum. bu seçimi editin on exit eventına yazdım.
farklı bir kayda konumlanmaya çalışırken eğer transactionı commitretain etmez isem kayıt transactionı commitretain edene kadar kilitli kalıyor. tabi başka kullanıcı da üzerinde işlem yapılmamasına rağmen o kayda gelince 'kayıt kilitli' mesajı alıyor.
Saygılar;
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
lock emriyle gezerek okuduysan locklı kalması gayet doğal.
vay efendim bu adamın daha önceki locklarını bulup kaldırayım ben diyemez.
kullandığın component ve firebird sürümünde rollbackretaining varsa onu kullan, yoksa, queryini close ederek dene.
o da olmuyorsa,
hiçbir değişiklik olmadıysa normal rollback yaparak,
değişen tablolar varsa commit[retaining] yaparak transactionu bitir/tazele.
locklar nasıl yapılır, hangi durumlarda kalkar gibi bilgiler dökmanlarda gayet detaylı açıklanıyor.
soru odaklı öğrenmek okuyup sindirmekten daha kolay geliyor biliyorum ama, bunu sürekli yapmaya kalkmanın cami önünde mendil açmaya dönüşeceğini anlayabiliyor olmanız lazım. bilgisayarcılık akıllı adam işidir,
akıllı adam da, bırakın hazır çözümleri ve imkanları araştırıp öğrenmeyi,
kendisi bir çözüm yaratabilen kişidir.
vay efendim bu adamın daha önceki locklarını bulup kaldırayım ben diyemez.
kullandığın component ve firebird sürümünde rollbackretaining varsa onu kullan, yoksa, queryini close ederek dene.
o da olmuyorsa,
hiçbir değişiklik olmadıysa normal rollback yaparak,
değişen tablolar varsa commit[retaining] yaparak transactionu bitir/tazele.
locklar nasıl yapılır, hangi durumlarda kalkar gibi bilgiler dökmanlarda gayet detaylı açıklanıyor.
soru odaklı öğrenmek okuyup sindirmekten daha kolay geliyor biliyorum ama, bunu sürekli yapmaya kalkmanın cami önünde mendil açmaya dönüşeceğini anlayabiliyor olmanız lazım. bilgisayarcılık akıllı adam işidir,
akıllı adam da, bırakın hazır çözümleri ve imkanları araştırıp öğrenmeyi,
kendisi bir çözüm yaratabilen kişidir.
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
Hocam isabetli söylüyorsunuz da bildiklerimizle bilmediklerimiz arasındaki fark günbegün artmaktayken en iyi çözüm bu işin tabletlerinin bir an önce çıkmasıdırTerminator yazdı:...
soru odaklı öğrenmek okuyup sindirmekten daha kolay geliyor biliyorum ama, bunu sürekli yapmaya kalkmanın cami önünde mendil açmaya dönüşeceğini anlayabiliyor olmanız lazım. bilgisayarcılık akıllı adam işidir,
akıllı adam da, bırakın hazır çözümleri ve imkanları araştırıp öğrenmeyi,
kendisi bir çözüm yaratabilen kişidir.


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
artan bildiklerimizle bilmediklerimiz arasında fark değil, endişe.rsimsek yazdı:Hocam isabetli söylüyorsunuz da bildiklerimizle bilmediklerimiz arasındaki fark günbegün artmaktayken en iyi çözüm bu işin tabletlerinin bir an önce çıkmasıdırTerminator yazdı:...
soru odaklı öğrenmek okuyup sindirmekten daha kolay geliyor biliyorum ama, bunu sürekli yapmaya kalkmanın cami önünde mendil açmaya dönüşeceğini anlayabiliyor olmanız lazım. bilgisayarcılık akıllı adam işidir,
akıllı adam da, bırakın hazır çözümleri ve imkanları araştırıp öğrenmeyi,
kendisi bir çözüm yaratabilen kişidir.Bu teknolojik çağ da buna imkân verir tahmin ediyorum
tablet olayı halledilir, asıl sorun 250lilik kullanabileceklerin 750lilik satınalabilenlerle olan haksız rekabeti olacak..

Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
Bilinmezlik deryasına daldıkça ne kadar az bildiğimizi dolaysıyla bildiklerimizle bilmediklerimiz arasındaki farkı daha iyi anlıyoruz. Yani "Bildiğim tek şey hiç bir şey bilmediğimdir/Socrates" e gidiyorTerminator yazdı:...artan bildiklerimizle bilmediklerimiz arasında fark değil, endişe...

Rekabet her zaman vardır zaten. Önemli olan her iki tarafa da hitap etmek ve ortalamayı tutturup dengeyi sağlayabilmekte..Terminator yazdı:...
tablet olayı halledilir, asıl sorun 250lilik kullanabileceklerin 750lilik satınalabilenlerle olan haksız rekabeti olacak..

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
örneğimin nedeni, 750mg tablet kullananlar nedeniyle o zaman da, daha fazla bilenlerin gerisinde kalıyor olmandan endişe edip yeni bir çözüm önermenden endişelenmemdi.rsimsek yazdı:Bilinmezlik deryasına daldıkça ne kadar az bildiğimizi dolaysıyla bildiklerimizle bilmediklerimiz arasındaki farkı daha iyi anlıyoruz. Yani "Bildiğim tek şey hiç bir şey bilmediğimdir/Socrates" e gidiyorTerminator yazdı:...artan bildiklerimizle bilmediklerimiz arasında fark değil, endişe...![]()
Rekabet her zaman vardır zaten. Önemli olan her iki tarafa da hitap etmek ve ortalamayı tutturup dengeyi sağlayabilmekte..Terminator yazdı:...
tablet olayı halledilir, asıl sorun 250lilik kullanabileceklerin 750lilik satınalabilenlerle olan haksız rekabeti olacak..

tablet çıksa, insanoğlu yine işin daha kolayını isteyecektir.
eski çağları düşünün.. okuyan yazan elle gösterilir, kitaplar elle yazılır, saklıdır, bilgi dağıtılmaz güçtür, insanlar mum ışığında yaşar vs vs..
bugün internette ne ararsan var, 2 tık ötede...
acaba diyorum, biliyor olmanın verdiği haz, öğrenme sürecinin hazzından daha mı yüksek,
ya da, ne kadar çok neyi bilmeye başlarsak o haz, acıya dönüşmeye başlar..
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org