C# DataGridView'deki Verileri Çekme

imamparator61

Picopat
Katılım
12 Ekim 2024
Mesajlar
619
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Merhaba, şifreli bir giriş projesi üzerinde çalışıyorum ve mantığım şöyle:
· Bir giriş formu olacak, o giriş ekranında kullanıcı adı yerine admin, şifre yerine password girildiğindede şifre oluşturma formuna atacak. Aynı modem arayüzü gibi. Fakat kullanıcı adı hep admin olarak kalacak ve değiştirilemeyecek.
· Yeni şifre oluşturulduktan sonra MySQL'deki dbase database'indeki sifreler table'ında kuladi elemanına admin, sifre elemanına girilen şifre eklenecek.
· Ondan sonra da tekrar giriş ekranına atacak, bu formdada visible özelliği false olan bir DataGridView'imiz olacak. Şifre kontrolünde yürüttüğüm mantık ise şöyle:
· Sifre sütununda eğer bir şifre yoksa kontrolet metodu çalışmayacak, eğer en az bir tane şifre eklenmişse metot çalışacak.
· Metot içerisinde bir for döngüsü olacak, 0'dan sifre sütunundaki elemanın bir eksiği olan sayıya ulaşana kadar 1'er 1'er artacak ve bu sırada girilen şifreyle sifre sütunundaki her elemanı kontrol edecek. Aynı listbox elemanlarını index numarasıyla kontrol etmek gibi.

DataGridView'de sifre sütunundaki verileri nasıl çekerim ve dediğim gibi yapabilirim? Yardımcı olursanız gerçekten çok sevinirim.
 
· Ondan sonra da tekrar giriş ekranına atacak, bu formdada visible özelliği false olan bir DataGridView'imiz olacak
Gerek yok. DataGridView'e cekme datayi. Simdi konudaki soruya yanit vereyim ama normalde asiri gereksiz.

C#:
public bool Validate(string passwordInput) {
    foreach (DataGridViewRow row in dataGridView1.Rows) {
        if (row.Cells["kuladi"].Value?.ToString() == passwordInput) {
            return true;
        }
    }
    return false;
}

MySQL kullaniyorsan asagidaki fazlasiyla yeterli;
C#:
public List<string> GetPasswords(string username, string connectionString)
{
    var passwords = new List<string>();
    using (var connection = new MySqlConnection(connectionString))
    {
        connection.Open();
        using (var command = new MySqlCommand("S1ELECT `sifre` F1ROM `dbase`.`sifreler` W1HERE `kuladi` = @kuladi", connection))
        {
            command.Parameters.AddWithValue("@kuladi", username);
            using (var reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    passwords.Add(reader.GetString(0));
                }
            }
        }
    }
    return passwords;
}

Sifrelerin oldugu sutunun adinin sifre oldugunu, kullanici adinin oldugu sutunun da kuladi oldugunu varsaydim. Sorgudan 1'leri cikart. Gonderemedim baska sekilde, o yuzden ekledim 1'leri.
 
Sağ ol dostum, geçen akşam hallettim o işi.
 
Son düzenleyen: Moderatör:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…