Çok kullanıcılı bir program yazmak ***

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

Çok kullanıcılı bir program yazmak ***

Mesaj gönderen oguthan »

değerli forum kardeşlerim;
Delphi ortamında msql server 2000 veri tabanı sunucusu üzerine bir çok program geliştirdim fakat bunlar hep tek kullanıcılı yani örnek vermek gerekirse bir kullanıcı farura kaydederken başka bir kullanıcı da fatura kaydedecek olsun idlerim birbirine giriyor yani kullandığım kod şu şekilde
yapı kısaca bir fatura bir de fatura satırları olsun ve ben fatura ekle deyince bana enson id neyse onu bir arttır demişim ve satırları da o fatura.id bağlayıp faturayı da o fatura.id ile kaydediyorum sıkıntı yok ama aynı anda bir başka kullanıcı da fatura eklemeye çalışıyor diyelim ve benim tablo hala ınsertte oldugu için o kullanıcıya da aynı fatura.id yi veriyor bu sorunu ben dolaylı olarak
ekle denilir denilmez hemen bir büyük numaralı bir kayıt ekleyip post edip tekrar edit eden bir kodum var
örn:
*************
en büyük id bulan tablo kodum şu şekilde
maxfaturaid.close;
maxfaturaid.sql.clear;
maxfaturaid.sql.add('select max(id) from fatura');
maxfaturaid.open;
***********
fatura.insert;
faturaid.value:=maxfaturaidcolumn1.value+1;
fatura.post;
fatura.edit;
*******
böylelikle kendime bir sıradaki id yi tahsis etmiş oluyorum fakat bence bu işin yöntemi bu deildir ve bu amatörce bir yöntemdir bunun gerçek çözümü nedir ?

bu konuda değerli yardımlarınızı bekliyorum
En son oguthan tarafından 14 Kas 2006 03:00 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
oguthan
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

öncelikle hoş geldiniz. bu ilk mesajınız galiba.
bence önce forum kurallarını okuyunuz. çünkü bildiğim kadarıyla büyük harfle yazmak yasak.
adminlerim daha iyi bilirler.
oguthan
Üye
Mesajlar: 34
Kayıt: 30 May 2005 10:23

haklısın hiç dikkat etmedim..

Mesaj gönderen oguthan »

haklısın hiç dikkat etmedim kusurumuza bakmazlar umarım
oguthan
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Öncelikle aramıza hoş geldiniz
Sanırım kuralları okudunuz. Hemen kurallara uygun mesajını düzeltirsen kimse görmez :wink:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Re: Çok kullanıcılı bir program yazmak ***

Mesaj gönderen fduman »

oguthan yazdı: ***********
fatura.insert;
faturaid.value:=maxfaturaidcolumn1.value+1;
fatura.post;
fatura.edit;
*******
böylelikle kendime bir sıradaki id yi tahsis etmiş oluyorum fakat bence bu işin yöntemi bu deildir ve bu amatörce bir yöntemdir bunun gerçek çözümü nedir ?
Bu işin çözümü id lerde otomatik artan alanlar kullanmaktır. Ayrıca transaction yapısına hakim olmaktır.

Otomatik artan alan kullandığınızda id yi sunucu kendisi arttıracaktır. Bu işi de transaction koruması altında yapacağından, aynı id yi alma gibi bir sorununuz olmayacak.

Forumu araştırdığınızda çok fazla yanıt bulacaksınız. Benim verdiklerim başlangıç arama kelimeleri olsun.
Cevapla