Alanı bir attırmak ama diğer kullanıcıda aynı noyu alıyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Alanı bir attırmak ama diğer kullanıcıda aynı noyu alıyor

Mesaj gönderen delphist »

S.a. Arkadaşlar databaseimde bir alan var ve bu alanı birer attırarak özel bir stok kaydı yapıyorum. Fakat örnek veriyorum bir kişi kaydı başlattı bazı özellikleri aldıktan sonra örnek olarak oluşacak numara 00019 bu noyu kayıt etmeden başka bir kullanıcı işleme başladığı zaman 00019 nosunu alıyor. Kaydet olayında bu nonun olup olmadığını tekrar kontrol ediyorum ve 2. olarak aynı noyu olan kullanıcı bu no kaydedilmiş zaten diyorum fakat adamın onca doldurduğu alan boşa gidiyor.

Bunu nasıl halledebiliriz. Yani iki kişinin aynı nosunu almayı çünkü ben bir önceki noyu select max fonksiyonunu ile alıyorum ve function gönderip bir attırıyorum...Şimdiden vereceğiniz cevaplar için teşekkür ederim.
Praxis
Üye
Mesajlar: 2
Kayıt: 30 Nis 2005 02:34

Mesaj gönderen Praxis »

select max la aldığın değeri +1 yapıp öyle kullanmayı dene..
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kaydet butonuna bastığında yani BeForePost ta bu değeri alıp bir artırmalısın :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
Karinca
Üye
Mesajlar: 239
Kayıt: 25 Ağu 2004 07:06
Konum: http://localserver/
İletişim:

Mesaj gönderen Karinca »

Bende benzer bi r uygulma yapıyorum.

Her yeni bir kayıtta ilk önce table deki son kaydı çağırttır. Onu görsün. veya yeni numaryı tam post anında verdir. Yani kim yazmaya başlarsa başlasın, otomatik noyu, tam post anında yapacağı için sorun olmaz. ;)
Sanırım Ramazan Hocam da bunu sölemiş..
Kolay Gelsin



Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih


Resim
Kullanıcı avatarı
Karinca
Üye
Mesajlar: 239
Kayıt: 25 Ağu 2004 07:06
Konum: http://localserver/
İletişim:

Mesaj gönderen Karinca »

Pardon Pardon. Hata var son dediğimde.

Ramazan Hocamın dediği gibi olcak. BeforePost dan sora +1 yapılcak.
Yukarda Söylediğim her durum için geçerli değil...

Selamlar...
En son Karinca tarafından 01 Ağu 2005 06:39 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih


Resim
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Hocam ben yanlış anlaşıldım...iki kullanıcı da aynı anda bastı tuşa...ve ikiside aynı noyu aldı...Benim anlatmak istediğim. Her ne şekilde olursa olsun iki kullanıcının aynı noyu almaması. Teşekkürler
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

AYnı noyu almaları mümkün değil. Hiç endişen olmasın. İstersen bilgisayarları yanyana koyup tuşlara aynı anda bas. VT mecburen önce birini işleyip ondan sonra diğer komutu işleyecektir :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Merhaba

Eğer Noyu Aldğın Alan Zorunlu ise Autoinc olarakta alabilirsin.... İstersen 1000 pc de bile sıralı numara alabilirsin....

Saygılarımla,
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Firebird de Generator ler bu iş için.
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Şimdi bir saniye benim anlamadığım bir nokta var..Veritabanında 00001 şeklinde bir alanım var ve ben bu alanı bir attırıyorum nasıl mı şöyle. O alanın max değerini sql ile alıyrum ve function gönderip bir fazlasını alıyrum ve kullanıcı kayıt yaptıktan sonra örnek veriyorum 00002 eklinde alıyor noyu ve kaydediyor bu 00002 kaydını yaparken başka bir kullanıcı aynı işleme maruz kalıyor oda 00002 nosunu alıyor ama kim önce kaydederse diğeri 00002 için yaptığı kayıt boşa gidiyor umarım anlatabilmişimdir. Teşekkürler...
Cevapla