• 27-09-2010, 00:32:01
    #1
    Üyeliği durduruldu
    arkadaşlar programlamada henüz başlangıç aşamasındayım. problemin çok basit bir cevabı olduğunu sanıyorum yardım ederseniz sevinirim:

    sql üzerinde sifre isminde bir tablom, bu tablonunda icerisinde parola isminde bir sütunum bulunuyor. sütun içerisindede sadece 1 satırlık veri var. benim yapmak istediğim textbox'a girilen veri eğer bu parolaya eşit ise işlem yapsın. kodları aşağıda verdim. label üzerine falan atıyorum parola bilgisini. ama aynı parolayı textboxa yazınca kabul etmiyor.

     private void button1_Click(object sender, EventArgs e)
            {
                SqlConnection baglanti = new SqlConnection(@"Data   Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\veritabani.mdf;Integrated   Security=True;User Instance=True");
                SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM sifre", baglanti);
                DataTable table = new DataTable();
                adp.Fill(table);
    
                if (textBox1.Text == table.Rows[0]["parola"].ToString())
                {
                    this.Hide();
                    Form1 frm1 = new Form1();
                    frm1.Show();
                }
                else
                {
                    MessageBox.Show("Yanlış şifre");
                }
            }
  • 27-09-2010, 01:51:18
    #2
    Üyeliği durduruldu
    problem sql data type'lerden kaynaklanıyomuş arkadaşlar. varchar olarak değiştirdim düzeldi.
  • 11-10-2010, 21:32:02
    #3
    private void button1_Click(object sender, EventArgs e)
    {
    SqlConnection baglanti = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\veritabani.mdf;Integrated Security=True;User Instance=True");
    SqlCommand command = new SqlCommand("SELECT kullaniciAdi,sifre FROM sifre where kullaniciAdi = @kullaniciadi or sifre = @sifre", baglanti);
    //usta burda kullanıcı adi ve şifre aynı anda doğru olmak zorunda veya operatorünü kullandım ikiside mutlaka doğru ise doğrudur
    command.Parameters.AddWithValue("@kullaniciadi", textBox1.Text);
    command.Parameters.AddWithValue("@sifre", textBox2.Text);
    try
    {
    baglanti.Open();
    SqlDataReader dr = command.ExecuteReader();
    if (dr.HasRows)//eğer sorgu sonucu bir satır geliyorsa bağlantı başarılı
    {
    MessageBox.Show("Bağlantı başarılı");
    }
    else//gelmiyorsa başarısız yazıcak bu kadar basit kasmaya gerek yok
    {
    MessageBox.Show("Bağlantı başarısız");
    }
    }
    catch
    {
    }
    finally
    {
    baglanti.Close();
    }

    }

    üstat senin veritabanı bilmiyorum sende bu veri tabanına göre yaparsın
  • 17-10-2010, 15:43:12
    #4
    DataTable, DataAdaptor nesnelerine hiç gerek yok dostum.

    Sadece ExecuteScalar() metodunu kullanacaksın. ExecuteScalar() metodu geriye sadece bir veri döndürür. select count sorgusu çalıştıracaksın ve mail ile şifre parametrelerini göndereceksin, eğer gelen veri 1 ise bilgiler doğrudur 0 ise yanlıştır.
    Bunu da if ile kontrol edeceksin.

    Koda dökemezsen bildirmen yeterli.
  • 17-10-2010, 17:50:52
    #5
    Üyeliği durduruldu
    mamicikaTR adlı üyeden alıntı: mesajı görüntüle
    DataTable, DataAdaptor nesnelerine hiç gerek yok dostum.

    Sadece ExecuteScalar() metodunu kullanacaksın. ExecuteScalar() metodu geriye sadece bir veri döndürür. select count sorgusu çalıştıracaksın ve mail ile şifre parametrelerini göndereceksin, eğer gelen veri 1 ise bilgiler doğrudur 0 ise yanlıştır.
    Bunu da if ile kontrol edeceksin.

    Koda dökemezsen bildirmen yeterli.
    teşekkür ederim

    o halde bu tanımlamayı nasıl yapabilirim?

    textBox1.Text == table.Rows[0]["parola"].ToString()