C# Ben nerede hata yapıyorum.

Kodla Büyü

detay_00

Aktif Üye
Mesajlar
110
Arkadaşlar veri tabanından çektiğim veri ile textbox a girdiğim veriyi karşılaştıramıyorum veriyi çekiyorum textboxa yazdırıyorum ama bu textboxı diğer bir textboxla karşılaştırma işlemine soktuğum zaman sonuç alamıyorum.

SqlConnection conn = new SqlConnection(@"Integrated security=true; Server= localhost; Database= Veri");
conn.Open();
SqlCommand cmd = new SqlCommand("Select * from Kullanici ", conn);
SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
textBox3.Text = dr["KullaniciAdi"].ToString();


{
if (textBox1.Text == textBox3.Text)

{


MessageBox.Show("başarılı");
}
}
conn.Close();
dr.Close();
}
}
}
 
Hocam söylediğiniz şekilde deneyim ama sanki gece bu şekilde denedim olmadı diye hatırlıyorum. Teşekkür ederim

Şimdi denedim olmadı

if (textBox1.Text.ToString() == textBox3.Text.ToString())
 
hocam o zaman compareto fonksiyonunu kullanabilirsiniz. CompareTo:Bir stringi diğer bir stringle karşılaştırmak için kullanılır.İki string birbirine eşitse geriye 0,birinci string alfabetik olarak ikinci string’ten önce geliyorsa geriye -1,birinci string alfabetik olarak ikinci string’ten sonra geliyorsa geriye +1 döndürür

String.Compare(textbox1.text,textbox2.text) seklinde kullanabilisin sonuc 1,0,-1 cıkıyo eger eşitse 0 ilki buyukse 1 eger kucukse de -1 cıkar kolay gelsin

örnek
------
if(String.Compare(textbox1.text,textbox2.text)==0) gibi
 
Hocam malesef onuda denedim. Gece hiç uyumadım kafayı yiyecem artık :( veri tabanından veriyi çekip textbox3 e yazdırıyorum sonra textbox1 ile karşılaştıramıyorum.
 
while (dr.Read())
textBox3.Text = dr["KullaniciAdi"].ToString(); ====> bu satirin dogru yerde olduguna emin misin? parantez icinde olmasi gerekmiyor mu?


{
if (textBox1.Text == textBox3.Text)

{
 
detay_00' Alıntı:
Hocam malesef onuda denedim. Gece hiç uyumadım kafayı yiyecem artık :( veri tabanından veriyi çekip textbox3 e yazdırıyorum sonra textbox1 ile karşılaştıramıyorum.

Hata mı veriyor yoksa aynı değer olmasına karşın "başarılı" mı yazmıyor?
 
Hocam en son şu şekilde program hata vermiyor. Veri tabanından çektiğim kullaniciAdi ni label'a yazdırabiliyorum sorun yok yani if kısmında bir sıkıntı var ama çözemedim

SqlConnection conn = new SqlConnection(@"Integrated security=true; Server= localhost; Database= Veri");
conn.Open();
SqlCommand cmd = new SqlCommand("Select * from Kullanici ", conn);
SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
if (textBox1.Text.ToString() == dr["KullaniciAdi"].ToString())
{
MessageBox.Show("başarılı");
}
}
 
görünüşe göre böyle çözülmeyecek, eğer çok özel değilse gönderin programınızı ve veritabanınızı yardımcı olmaya çalışalım
 
Hocam, asp.net de mi yapıyorsunuz bişeler. Aklıma gelen bir sorun var ama.
Eğer postback olayından sonra textbox daki değeri istiyorsan haliyle boş gelecektir. Onun için findcontrol komutunu kullanıp postback ten önce textten almanız gerekir bilgiyi. Eğer win uygulama yapıyorsanız bişe diyemeyeceğim...
 
Hocam merhaba

ben kodlama ile uğraşmayalı uzun zaman oldu ancak aklıma gelenler arasında yanılmıyorsam veritabanından datayı çektikten sonra ilk kayda öncelikle setlenmesi sağlanır Sonra try catch yöntemi kullanılarak kod bloğu yazılır. bana sorarsanız öncelikle hata almamak için try içine kodunuzu alarak deneyin.
 
Hocam nasıl çalışıyor :o bende çalışmıyor ama problemi şu şekilde geçici olarak çözdüm. Ayrıca ilgilenen tüm hocalarıma teşekkürler.

SqlConnection conn = new SqlConnection(@"integrated security=true; server= localhost; database=DbKutuphane");
conn.Open();
SqlCommand cmd = new SqlCommand("Select * from Login where KullaniciAdi='"+textBox1.Text+"'AND KullaniciSifre='"+textBox2.Text+"'", conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
this.Visible = false;
{
MessageBox.Show("Başarılı");
}

}

Endoplazmik bi kulum hocam siz kodlarda hiç değişiklik yaptınız mı?
 
:+1:

SqlConnection conn = new SqlConnection(@"Integrated security=true; Server= GOKHAN\SQLEXPRESS; Database= Veri");
conn.Open();
SqlCommand cmd = new SqlCommand("Select * from Kullanici ", conn);
SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())

{
textBox3.Text = dr["KullaniciAdi"].ToString();
if (textBox1.Text == textBox3.Text)
{
MessageBox.Show("başarılı");
} else MessageBox.Show("basarisiz");
}
conn.Close();
dr.Close();
}
 
Hocam teşekkür ederim. Ben hem C# hemde sql e yeni başlayan biriyim. Veri tabanında kullaniciAdi isimli hücremin değişken türünü nchar(10) olarak belirlemiştim. Bu kısmı text olarak değiştirince problem ortadan kalktı. Katkılarınızdan dolayı teşekkür ederim. Bu kadar küçük bir hata için herkesi uğraştırdım kusura bakmayın.
 
derslerimde öğrencilere hap anlatırım, küçücük bir hata programı çalıştırmaz diye (hatta yanlış çalıştırır bu daha tehlikelidir!) sinek küçüktür ama mide bulandırır atasözü buraya cuk gider :=)
 
BBNET
Geri
Üst