Kayıt sıra Numarası = ID

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

S.A Arkadaşlar cümleten herkese kolay gelsin;
Arkadaşlar benim sorunum ID alanları. Projelerimde kullandığım vt firebird.Arayüz tasarımınız ise IB Expert ile yapıyorum. Tasarladım her alanda ( tabloda örnek,fatura,cari,stok) gibi tablolarda mutlaka ID alanını oluşturuyorum.Fkat projede form tasarımında kullanıcıya mesela adı,soyadı,gibi alanları bilgi girip ID alanını boş bırakınca hata veriyor. ID yi boş bıraktın diye bende orayı kulanıcıya Kayıt sıra numarası olarak gösteriyorum. Yani kulanıcı Yeni kayıt gireceği zaman oraya 1,2,3 kacıncı kaydı giriyorsa onun numarasını giriyor.Şimdi bşir müşterim bu numaraların dbGridde sıralı bir şekild eolmasını istiyor. Yani en üstte 1 onun hemen altında 2,sonra 3 sonra 4 diye gitmesini istiyor. Acaba böyle bişey mümkün mü vwya başka bişey önerebilriisiniz. ??
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Kayıt sıra Numarası = ID

Mesaj gönderen aslangeri »

s.a.
gridde gösterdiğiniz kayıtları id alanına göre sıralayın.
ancak yaptığınız işlem genel itibari ile doğru değil.
pk alanları kullanıcılara göstermemelisiniz.generator ve trigerları incelemenizi tavsiye edeceğim.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

Yav peki nasıl yapmalıyım abicim bu ID alanlarını boş bırakayım dedim namussuz hata veriyor. boş bıraktım diye. Genelde nasıl oluyor bu işler acaba ??..
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Kayıt sıra Numarası = ID

Mesaj gönderen orhancc »

ID alanını sen otomatik artan yapacaksın kullanıcı içinse kod diye bir bir alan yapacaksın onu kullancaksın. Kullanıcını ID alanı ile alakalı olmayacak. Tüm bağlantıları fkleri de bu ID ile yapabilirsin.
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

vay anasını sağol orhan hocam valla ben bunu hiç bilmiyordum otomatik artan yani kendisi otomatik nuara verecek öylemi ben hemen araştırayım buynu sağolun hocalarım...
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

orhancc yazdı:ID alanını sen otomatik artan yapacaksın kullanıcı içinse kod diye bir bir alan yapacaksın onu kullancaksın. Kullanıcını ID alanı ile alakalı olmayacak. Tüm bağlantıları fkleri de bu ID ile yapabilirsin.
yav bu deidklerinizi nasıl yapacam biraz yardımcı olumusunuz .?
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

hocam biraz araştırdım ve şu bilgileri uldum
viewtopic.php?f=19&t=9847
buraya yapacam tekrar tşk ederim..
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 183
Kayıt: 01 Oca 2008 05:34

Re: Kayıt sıra Numarası = ID

Mesaj gönderen Commandx »

Otomatik artan kayıt numarası oluşturmak için Örneğin "ID" diye bir sütunun olsun
bu senin otomatik artan alanın olacak IBexpert ile düzenlediğini varsayarak
Bunu düzenlerken integer,double percission smallint gibi veya sayısal olmasına dikkat et integer tavsiyemdir
Alanın Type kısmını düzenlerken create new generator oluşturman gerekiyor
bunu oluşturduktan sonra veritabanından çıkarken zaten soruyor showmessage çıkıyor burdan evet gönder dediğinde (commit edip transactionu FB sunucusuna gönderiyorsun) otomatik artan oluşuyor
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

hocam zaten bende bu olayı aynı anlatılan gibi yapmışım peki başka exstra bişey yapma gerekir mi ? yani kayıt girince ID alanını bişey gireyim mi ? bu arada ID alanım integer tipinde.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Kayıt sıra Numarası = ID

Mesaj gönderen unicorn64 »

generatör oluşturduktan sonra bir de trigger oluşturmak gerek...

Kod: Tümünü seç

CREATE TRIGGER TABLO_BI FOR TABLO
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GEN_TABLO_ID,1);
END
gibi...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

viewtopic.php?f=19&t=9847

yav arkadaşlar Allah rızası için birisi söylesin bende vt arayüz tasarımını aynı yukarıdaki fatih hocanın anlattığı gibi yağtım peki bşka ne yapmam lazım ?? Şimdi örneğin Cari tablosuna veri girerken ID alanın boş bıraktınız diye hata vermemesi için ne yapmalıyım ..???*
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

arkadaşlar sonunda çözdüm. olay şu şimdi ben her tabomda Integer tipinde ID alan yapıyordum ve formda kayıt girerken oraya otomatik değil de kendim elle giriyodum yani orayı kayıt sıra no olarak gösteriyordum. Ama şimdi ben kayıt girince o alan kendisi otomatik numara oluşturacak ve ID alanını boş bıraktın diye hata vermeyecek. Fatih hocanoın anlattığı ile benim yaptığım vt tasarımı birebir aynı sadece ben IBTable a çift tıklayıp o ID alanın Object inspector'dan Required özelliğini false yapmadığpım için hata veriyormuş ama şimdi hiç bir soru yok yardımcı olan bütün arkadaşlara tşk ederim ....
mrtblt
Üye
Mesajlar: 222
Kayıt: 02 Tem 2007 05:13

Re: Kayıt sıra Numarası = ID

Mesaj gönderen mrtblt »

Evet id alan cok onemli ama sen neden her tabloya id alan ekliyorsun ki??? Iyi bir VT programcisi mantigina sahip olmanin sartlarindan biridir ID nin neden gerekli oldugunu bilmek.
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Kayıt sıra Numarası = ID

Mesaj gönderen akineton »

evet hocam haklısınız.
Cevapla