C sharp dilinde access veritabanındaki toplam veri sayısını nasıl alabilirim?

Merhaba c# access veritabanındaki toplam veri kadar sayıyı labele yazdırmak istiyorum nasıl yapabilirim ?

Gurur Enginözlem
G
0 kişi takip ediyor.
Misafir olarak yayınla
114
114 CEVAP

Select count(*) from tabloadı

Ismail Esilaa
I

İsmail teşekkür ederim

Gurur Enginözlem
G

Ismail Esilaa tam olarak kod şeklinde nasıl yazabilirim yardımcı olurmusunuz

Gurur Enginözlem
G

Direk çek executenonscalar ile yazdir ornek kod yazim bak simdi

Oledbcommand cmd = new oledbcommand ("select count(*) from tabloadi",baglanti);

Messagebox. Show(cmd. Executescalar().tostring());

Gibi

Ismail Esilaa
I

Ismail Esilaa dediğinizi yapamadım hata aldım

Gurur Enginözlem
G

Ss at

Ismail Esilaa
I

com-5zvjc8g4ysmw6fx0503b.jpg

Gurur Enginözlem
G

Baglantı baglanti kısmını farkettim düzelttim fakat diğerleri gitmedi

Gurur Enginözlem
G

com-xnsj9x35550i9i96n2um.jpg

Gurur Enginözlem
G

Yardımcı olabilecek biri var mı

Gurur Enginözlem
G

sorun çıkmaması lazım eğer bağlantıyı düzelttiysen!

Yusuf Gergin
Y

Oledbcommand cmd = yap eksik yazmisim

Ismail Esilaa
I

copy paste ile kod yazılmasss

Yusuf Gergin
Y

Ben zaten mantiği anlasin diye yazdim o kodu tam olarak ne yapmak istedigini bilmedigim icin kendine gore uyarlar kullanir

Ismail Esilaa
I

Formun load kısmına yazdım ve formu açmaya çalıştığımda hata aldım ExecuteScalar requires an open and available Connection. The connection's current state is closed.

Gurur Enginözlem
G

Buttona yazdım yine olmadı

Gurur Enginözlem
G

Bir dakika birşey denicem

Gurur Enginözlem
G

OleDbCommand cmd = new OleDbCommand("SELECT Count(*) FROM Davetliler", baglantı);

MessageBox. Show(cmd. ExecuteScalar().ToString());

Gurur Enginözlem
G

Baglantinda hata var acmamissin su kodun tamamini cek koy

Ismail Esilaa
I

Baglantiyi acman lazim baglantı. Open(); yaz ustune

Ismail Esilaa
I

Tamam teşekkürler oldu Mesela Davetliler kısmından sadece No ya kaydedilmiş verileri toplamak istesem nasıl yaparım örneğin 1 veri girişi yaptık ama no kısmına 2 kaydettirdik o 2 diye nasıl mesaj verdiririz? Count() içinemi yazcan

Gurur Enginözlem
G

En sonuna sorgunun kosul olarak eklersin where ile mesela select count(*) from Davetliler wjere no=2 gibi

Ismail Esilaa
I

Nosu 2 olanlarin miktarinini dondurur

Ismail Esilaa
I

Ben şöyle demek istemiştim kayıt 1 tane var ama içerisinde no ya 2 yazdılar ben toplam gelen kişi sayısına o kayıtla no kısmını toplatarak yazdırmak istiyorum ( 1+2 ) şeklinde yani gelen kişi sayısı 3 yazsın

Gurur Enginözlem
G

Böyle yapılabilir okuyucu ile;
int sayac, toplam, no;
baglantiadi. Open();
OleDbCommand komut = new OleDbCommand("Select * From tabloismi",baglantiadi);
OleDbDataReader okuyucu = komut. ExecuteReader();
while(okuyucu. Read())
{
//eğer tablonun no alan adı 0 indexteyse
sayac++
no = Int32.Parse(okuyucu[0].ToString());
toplam = sayac+no;
}
baglantiadi. Close();
lbltoplam. Text = toplam. ToString();
Anladıgım bu yanlıs anladıysam bıraz daha acık anlatırsan sevınırım

Murat Kızıltuğ
M

Murat Kızıltuğ Benim istediğim şöyle Şimdi mesela 3 tane kayıt girildiğinde 3 tane kayıt var yazıyor ben ek olarak no daki değerleride hesaplayıp 3 tane kayıt a eklenmesini istiyorum örneğin Davetli yanında 3 kişiyle birlikte geldi gelen kişi sayısı toplam 4 olsun

Gurur Enginözlem
G

Zana zahmet tablonun resmini atarmısın hemen çözüm bulayım

Murat Kızıltuğ
M

O no olarak kastetdıgın id mi ?

Murat Kızıltuğ
M

Hayır DavetliSayisi

Gurur Enginözlem
G

ha tmm şimdi oldu

Murat Kızıltuğ
M

id ile yapıyorum zaten id leri tek tek hesaplayıp buluyor ama benim istediğim id ile davetlisayisini da toplayıp yazdırmak

Gurur Enginözlem
G

int sayac, toplam, no;
baglantiadi. Open();
OleDbCommand komut = new OleDbCommand("Select * From tabloismi",baglantiadi);
OleDbDataReader okuyucu = komut. ExecuteReader();
while(okuyucu. Read())
{
sayac++
no = Int32.Parse(okuyucu[3].ToString());
toplam += sayac+no;
}
baglantiadi. Close();
lbltoplam. Text = toplam. ToString();
bu yazdıgım kod şöyle yapacak
toplam kayıt sayısı ile davetli sayilarini toplayacak

Murat Kızıltuğ
M

Deniyorum

Gurur Enginözlem
G

Buradaki no olarak bahsettiğiniz şey nedir

Gurur Enginözlem
G

davetlisayilarini sayiya cevırıyor ve int tipinde no isimli degiskene atiyor

Murat Kızıltuğ
M

No da hata veriyor

Gurur Enginözlem
G

yukarıda tanımladıgım int tipinde sayac, toplam var ya oraya bide no adında ekle veya yeni no isimli int olustur duzelır hata

Murat Kızıltuğ
M

Noyu ilk basta tanimlarken 0 a esitle madem int no = 0 yap en ustte int sayac, toplam, no burdaki noyuda kaldir

Ismail Esilaa
I

zaten onlara baslangıcta deger atmadıgın zaman otomatık olarak 0 degerını alıyorlar gerek kalmıyor boyle bır seye

Murat Kızıltuğ
M

Ama tanimlayip degere esitlemezsen derlerken hata cikabiliyor o yuzden dedim

Ismail Esilaa
I

int sayac, toplam, no; yapınca bu seferde sayac la toplam hata veriyor

Gurur Enginözlem
G

dedıgın dogruda cıksa cıksa uyaro hatası cıkar oda 1 2 kere derledıkten sonra gıder programın calısmasına engel olmaz

Murat Kızıltuğ
M

Şu kodları ve hatalari cekip koysana komple

Ismail Esilaa
I

Aynen dediği gibi ismail arkadaşın sen formun kod kısmının resmını cekıp atıver zana zahmet

Murat Kızıltuğ
M

Sizin kodlarınızın olduğu kısım

com-sohcj6igtqhpd8qtr6o2.jpg

Gurur Enginözlem
G

Int sayacla toplamida sifira esitle basta duzelicek

Ismail Esilaa
I

O değişkenleri en uste tanımla global olarak sıkıntı burada

Murat Kızıltuğ
M

Murat Kızıltuğ gordugun gibi ilk basta deger olmadan islem yapmaya calistinda hata veriyor uyari degil

Ismail Esilaa
I

İsmail kundakcı dediğini yaptım oldu şimdi deniyeceğim

Gurur Enginözlem
G

Dedigimi dene duzelicek buyuk ihtimal

Ismail Esilaa
I

Global ile alakasi yok hepsi ayni blokta zaten degerleri olmadigi icin hata cikiyor o yuzden 0 vermeli ve duzelmis

Ismail Esilaa
I

Doğru bende nedense hata vermemişti.

Murat Kızıltuğ
M

Kodun olduğu formu açamadım

com-c6cqeynsfe5uj7zu2ctd.jpg

Gurur Enginözlem
G

aynısını sımdı denedım global yapınca hata gıdıyor kodların bulundugu blogta tanımlayınca ıllakı deger atmak gerekıyor mus global tanımlanınca deger atmasada oluyor

Murat Kızıltuğ
M

ha pardon cevırdıgımız sey ztn strın tıpınde deılmıs

Murat Kızıltuğ
M

Veritabanında zaten numara tipinde kayıtlıydı

Gurur Enginözlem
G

davetlısayısı sayı tıpındeymıs onu farketmedım dırek no yu soyle yap
no = okuyucu[3];

Murat Kızıltuğ
M

3 yazan yeri "DavetliSayisi" yap

Ismail Esilaa
I

yok yok sorun şeyden dolayı sayı olan bı degerı sayıyıa cevırmeye calışmışız onun hatasını verıyor

Murat Kızıltuğ
M

dedıgımı yaparsa sorun cozulecektır

Murat Kızıltuğ
M

Sorun orda degil bence stringe cevirip tekrar inte parse etmissiniz orda olsaa sorun cikmamali

Ismail Esilaa
I

no = okuyucu[3]; kısmı hata verdi

Gurur Enginözlem
G

Dedigimi dene birde

Ismail Esilaa
I

ne hatası ?

Murat Kızıltuğ
M

Cannot implicitly convert type 'object' to 'int'. An explicit conversion exists (are you missing a cast?)

Gurur Enginözlem
G

ismailinkını dene olmazsa soyle

Murat Kızıltuğ
M

3 yazan yeri okuyucu["DavetliSayisi"]

Ismail Esilaa
I

İsmailin dediği gibi yaptım sorun devam ediyor hala

Gurur Enginözlem
G

aynı anlama gelmıyor mu ha "DavetliSayısı" ha 3ıncu alan

Murat Kızıltuğ
M

yok sorun onda deıl bı sn gurur

Murat Kızıltuğ
M

Cunku deger object tipinde geliyor no= Convert. Toint32(okuyucu["DavetliSayisi"] boyle olcak

Ismail Esilaa
I

Son attigimi dene

Ismail Esilaa
I

Valla istediğimi yapmamı sağlarsanız minnettar kalırım size

Gurur Enginözlem
G

ılkte ztn oyledı

Murat Kızıltuğ
M

ıns basaracagız ismail ile

Murat Kızıltuğ
M

Son attigimi denesene

Ismail Esilaa
I

tmm dene ismalinkini olmazsa soyle

Murat Kızıltuğ
M

Mobil olmasam 0 dan yazardim boyle parca parca bakalim nolacak

Ismail Esilaa
I

Varmı herhangi bi sorun

Ismail Esilaa
I

Program açıldı fakat kodun olduğu formu açamadım

Gurur Enginözlem
G

Object cannot be cast from DBNull to other types.

Gurur Enginözlem
G

Hatası verdi

Gurur Enginözlem
G

Veritabanini ss atsana tabloyu

Ismail Esilaa
I

attı yukarıda var tablo resmi

Murat Kızıltuğ
M

Eski yorumlarda mevcut

Gurur Enginözlem
G

Verilerin oldugu kismi gormek istiyorum

Ismail Esilaa
I

Bos veri var buyuk ihtimal o kolonda orda patliyor

Ismail Esilaa
I

Atayım veritabanını birde bir sorunum daha var

Gurur Enginözlem
G

Gurur tablodaki DavetliSayisi ni metin olarak degistir sorun cozulecektir ama no = Int32.Parse(okuyucu[3].ToString());
yap gene

Murat Kızıltuğ
M

Cabuk olursan sevinirim

Ismail Esilaa
I

Sorun bi hucrede bos veri var bence gelsin bakalim ss

Ismail Esilaa
I

com-2f2hos074ed55nr8oho3.jpg

Gurur Enginözlem
G

Bak o hucreler bos o yuzden oluyor onlari sayiyla doldur duzelicek

Ismail Esilaa
I

dedıgın dogru boş veri bulunmakta oraya veri gir gurur

Murat Kızıltuğ
M

0 0 0 yazdım da birde şöyle bir sorunum daha önce kaç kez veritabanına veri girdim programı kapatıp açtıktan sonra veriler gidiyor bazenleri

Gurur Enginözlem
G

Delete sorgusu calisiriyosundur biyerde farkinda olmadan duzeldi dimi hata simdi?

Ismail Esilaa
I

sen onu bi metin yap davetli sayisini 5 fln gir oraya ve no ya sunu yaz no = Int32.Parse(okuyucu[3].ToString());
bu yap bı boyle dene sorun gıdecektır

Murat Kızıltuğ
M

Object cannot be cast from DBNull to other types. Hatası aldım acaba veritabanına 0 0 0 diye girdim diye mi

Gurur Enginözlem
G

Zaten direk benim attigin son kodda integer yapiyor string yapip tekrar int yapmanin manasi yok sanirim

Ismail Esilaa
I

Neyse ben kaciyorum benden bu kadar hadi eyvallah

Ismail Esilaa
I
Daha fazla göster
Yükleniyor...