count kullanımı ile ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

count kullanımı ile ilgili

Mesaj gönderen huseyinert »

s.a arkadaşlar kolaygelsin

ben normalde kayıt sayısını öğrenmek için dataset.recordcount metodunu kullanıyordum ama sağlıklı çalışmadığını gördüm ve sql count kullanmaya karar verdim şu şekilde kullanmaya çalıştım ama çalışmadı hata veriyor;

data.dataset.Close;
data.dataset.SelectSQL.Clear;
data.dataset.SelectSQL.Add('select count(*) from carikayit');
data.dataset.Open;

şeklinde kullandım ama hata verdi bide bunu sonucunu labela nasıl aktaracağım...
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
verdiği hatayıda yazarsan daha kolay yardım edebiliriz.
label da yazmak için

Kod: Tümünü seç

select count(*) toplam from carikayit
şeklinde yaparsan

Kod: Tümünü seç

 fieldbyname('toplam') 
ile kullanabilirsin
kolay gelsin
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

yada,

Kod: Tümünü seç

data.dataset.Close; 
data.dataset.SelectSQL.Clear; 
data.dataset.SelectSQL.Add('select * from carikayit'); 
data.dataset.Open;

data.dataset.FetchAll;

bundan sonra

Kod: Tümünü seç

data.dataset.RecordCount; 
rahatlıkla kullanabilirsiniz.

kolay gelsin.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

select count(kno) as toplam from tablo
kno :otomatik artan bir alan

ben bu şekilde kullanıyorum ve sorunsuz çalışıyor..

ayrıca label atman için

Kod: Tümünü seç

label1.caption:=inttostr(dataset1.fields[0].asinteger);
yada

Kod: Tümünü seç

label1.caption:=ibdataset1.fieldbyname('toplam').asstring;

 artı sen alan belirtmişsin ama 
sözcüğünü koymmaışsın hatan da bu yüzden..

Kod: Tümünü seç

count(*)
da kullanabilrsin ..
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

Mesaj gönderen huseyinert »

sağolun arkadaşalar bun ben bul da kullanıyorum kriter falan verdiğim zaman nasıl kullanıcam problem oluşuyor.

data.carikayit.Close;
data.carikayit.SelectSQL.Clear;
data.carikayit.SelectSQL.Add('select count(*) from carikayit where unvan like '+#39+EDIT3.Text+'%'+#39+'');
data.carikayit.Open;

bunu gibi raporlama türlerinde de tümleşik kullanmam gerekiyor
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Peki veritabanı nedir? şeklinde can alıcı soruyu soralım.
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

Mesaj gönderen huseyinert »

veri tabanım interbase zaten sanırım dataset başka veri tabanların da kullanılmıyor ...
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

huseyinert yazdı:veri tabanım interbase zaten sanırım dataset başka veri tabanların da kullanılmıyor ...
ClientDataset, ADODataset, dbExpress için SQLDataset. Bu datasetler ile Oracle, Access, MS SQL vs.. bilumum VT'ye bağlantı sağlanabilir. VT'ye göre SQL komutlarında bazı değişiklikler olabileceğinden bu soruyu gündeme açtım.
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

Mesaj gönderen huseyinert »

coderlord arkadaşa verdiği bilgi için tşk. ederim diğerlerinde kullanıldığını bilmiyordum, count soruma cevap beklemekteyim hala sorun çözülmedi...
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Datasetinde Modify Refresh Insert SQL'leri de tanımlı zannedersem. Sen SelectSQL'i runtime'da değiştirerek kullanıyorsun. O zaman buralarda tanımlı alanlar bulunamıyor ve hata ortaya çıkıyor.

Dataset üzerinden count almak yerine bir IBQuery koy formunun üzerine bunun SQL cümlesine yukarıda yazdığın kod ile güncelleme yapıp count'u çek. Herhangi bir problem ortaya çıkmayacak.
Cevapla