tablodaki kayıt sayısını bulma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
bimsamsy
Üye
Mesajlar: 25
Kayıt: 04 Mar 2005 04:42

tablodaki kayıt sayısını bulma

Mesaj gönderen bimsamsy »

sql kullanmadan tablodaki kayıt sayısını nasıl bulurum
Kullanıcı avatarı
interboy
Üye
Mesajlar: 84
Kayıt: 18 Mar 2005 02:52

..

Mesaj gönderen interboy »

Kod: Tümünü seç

table1.recordcount;
olabilir
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Yeri gelmişken bir arıda bulunayım..... Query componentlerinin recordcoun özelliğine güvenmeyin... Table componentine güvenebiliriz tabi ki....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
dtgb
Üye
Mesajlar: 175
Kayıt: 07 May 2004 10:02

Mesaj gönderen dtgb »

peki fahrettin abi
Querynin recordcount unu tam gorebilmemiz icin table i veya queryi close open yapmaktan baska secenegimiz var mı?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

ya table.recortcount ile kayıt sayısını alabiliriz. Ya da

Kod: Tümünü seç

Select count(*) from TABLO
şeklinde bir SQL cümlesi çalıştırmak sureti ile aynı sonucu elde edebiliriz. Bunun dışında Query.recortcount query'yi kapatıp açsanız bile hatalı sonuç üretebiliyor. Daha doğrusu binlerce kayıt varsa Query componenti bu kayıtların tamamını birden client'a çekmediği için gerçek kayıt sayısını bilmesi de mümkün olamayabiliyor.... O yüzden güvenemeyeceğimiz bir değer üretebiliyor. Benim başıma gelmişti bir query de kayıt sayısı sıfırsa birşeyler yaptırıyordum. Ve hatalı çalışıyordu. Kontrol ettiğimde gordumki aslında kayıt oldugu halde kayıt sayısı için sıfır değerini veriyordu.
Kolay gelsin....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhabalar

peki fahrettin abi bu query ile yapılan sorgulamalarda geçerlimi. bende sorgulama sonucunda dönen kayıt 0 ise mesaj verdiriyorum veya başka işlemler yaptırıyorum

teşekkürler
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.

Resim
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Zaten TQuery ile yapılan sorugalamalardan bahsediyorum.... O kod kesinlikle hataya açık hemen belirteyim.... Benim kod da aynen oyle idi ve farkettim ki bazen kayıt olduğu halde kayıt sayısını sıfır gosterebiliyordu.... Ya

Kod: Tümünü seç

Select count(*) from TABLO
ile ayrı bir kontrol yapmalısınız . Ya da kayıt sayısı sıfır mı diye bir kontrol ise onun soyle protik bir yolu daha var.

Kod: Tümünü seç

if Query1.Bof and Query.Eof then
....
Bu şekilde bir kontrolde de ancak kayıt sayısı sıfır ise şart gerçekleşecektir....
Bahsettiğiniz kodu bu iki şekilden biri ile değiştirmeniz gerekir.
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

Query nin Kayıt sayısını sıfır göstermesinin sebebi sorguladığı kayıtları hafızaya almamasından kaynaklanıyor...
Open komutundan sonra :

IbQuery1.FetchAll;

yazarsanız doğru kayıt sayısına ulaşırsınız; Şiddetli yavaşlamayı göze almak kaydıyla tabi ki....

Sevgiler...
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kayıt sayısının 0 olup olmadığının kontrolü IsEmpty method u ile de yapılabilir.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhabalar,

evet sorgulama sonucunda yani

Kod: Tümünü seç

.....
ibquery1.open;
ibquery1.last;

sonda 

if ibquery1.isempty then showmessage('.....');

şeklinde yapıyorum bazı yerlerde ise

if ibquery1.recordcount=0 then showmessage('......');

şeklinde kullanıyorum
burada ikinci kullanımımdan dolayı fahrettin abinin dediği üzere hata verme olasılığı var.

teşekkür ederim. buna göre düzenlemeler yapacağım. tabiki öncelikle verdiğiniz yöntemleri kullanılmakta olan sorgu komutlarına uyarlamayı öğrenmeliyim.

kolay gelsin tekrar teşekkürler
Ş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.

Resim
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Kod: Tümünü seç

if ibquery1.EOF then
kullanılabilir
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

lazio yazdı:

Kod: Tümünü seç

if ibquery1.EOF then
kullanılabilir
Evet hiç kayıt yoksa da EOF=true dur fakat biliyorsun tabloda 10 kayıt varken son kayıtta iken bir daha next dersek yine EOF=True olacaktır.... ;)
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

evet fahrettin abi çok haklısın. ben biraz eksik yazmışım.
Query1.Active := True; dedikten hemen sonra
if Query1.EOF then kontrolu True döndürüyorsa tablo boştur demem gerekirdi.. :oops:
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Evet o zaman dogru oluyor tabi... Ben de o yüzden bu şekilde bir kullanımı tercih ediyorum....

Kod: Tümünü seç

if Query1.Bof and Query.Eof then 
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
evolution
Üye
Mesajlar: 12
Kayıt: 03 Kas 2005 08:39

Mesaj gönderen evolution »

Birşey sormak istiyorum

Kod: Tümünü seç

Select count(*) from TABLO
kodunu query olarak çalıştırdım. Daha snra çıkan sonucu nasıl bir labele aktarabilirim? Yani Query1.SQL.Add komutunu kullanarak sorguyu çalıştırdım.. Sonucu nasıl aktarmam gerekiyor?
Cevapla