Insert Problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sirdragonblack
Üye
Mesajlar: 32
Kayıt: 04 Tem 2009 06:20
Konum: İstanbul

Insert Problemi

Mesaj gönderen sirdragonblack »

Herkese hayırlı ramazanlar. 6 bilgisayardan aynı anda çalışacak bir sipariş modülü yazmam lazım. iki tablom var.
'siparis' tablosu sipariş veren carinin bilgilerini, tarihi ve fiş numarasını tutuyor.
'siparis_har' tablosu siparişin içeriğini tutuyor.
Aynı anda birden fazla bilgisayardan kayıt eklemeye kalkışınca ilk kaydet'e basan işlemi tamamlıyor diğerleri donuyor.
Sanırım tabloların autoinc idlerini ayarlayamıyorum. Her bilgisayarın sıradaki id numarasını çakışmadan alması için fikir belirtirseniz çok sevinirim. Allah yar ve yardımcınız olsun.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Insert Problemi

Mesaj gönderen mkysoft »

Numaranın sıralı olarak takip etmesi pek mümkün görünmüyor. Cached updates özelliği ve locaked table özelliğini birlikte kullanarak uğraşırsanız halledebilirsiniz. Yani tüm sipariş verisini tüm veriler girildikten sonra veri tabanına yazacaksınız. yazma işleminne önce tabloları kitleyeceksiniz, sonra açacaksınız.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Insert Problemi

Mesaj gönderen Battosai »

Autoinc alan yapmayı denedin mi ?
sirdragonblack
Üye
Mesajlar: 32
Kayıt: 04 Tem 2009 06:20
Konum: İstanbul

Re: Insert Problemi

Mesaj gönderen sirdragonblack »

cevapladığınız için teşekkürler. kullandığım db zaten başka bir program tarafından oluşturulmuş. ek modül yazma çabasındayım.
bu nedenle autoinc alanlara takılıyorum. mkysoft fikrinizi biraz daha detaylandırırsanız tamamen çözeceğim sanırım. kilitleme kısmında biraz tıkandım da :) ama başımın üzerinde bi ampül yandı :)
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Insert Problemi

Mesaj gönderen mkysoft »

Anladığım kadarıyla bu spariş alanı zaten autoinc ve siz arada boş numaralar olmasını istemiyorsunuz. Bu durumda programınızdan ekle tuşuna basıldığında nesnesini add durumuna almayacaksınız. Kaydet düğmesine basıldığında ilgili tabloları lock table komutunu kullanarak eklemelere karşı kitleyeceksiniz, gerekli veri ekleme SQL lerini veri tabanına gönderdikten sonra tabloları unlock edeceksiniz. Kaydet düğmesinin ilk başına tablonun locked olup olmadığını kontrol ederek kullanıcıya biraz bekleyeceği bilgisini verebilirsiniz. Kullanıcı iptal düğmesine basıp kayıt eklemekten vazgeçerse yine tabloları unlock edeceksiniz.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Insert Problemi

Mesaj gönderen conari »

Identty olduktan sonra farketmez.
Kaydete basanın verisi yazılır.
Siz insert ederken bu autoinc alanlara veri göndermeyeceksiniz.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla