3 Stimmen

KeyNotFoundException in MySql-Abfrage / C#

Ich entwickle eine Software in C#, ich muss eine MySQL-Verbindung in diesem Programm nutzen. Ich kann mich mit der Datenbank verbinden. Visual Studio wirft eine Ausnahme auf der ExecuteReader()-Zeile.

Ausnahme: KeyNotFoundException, "Der angegebene Schlüssel war nicht im Wörterbuch vorhanden"

Das ist mein Code:

MySqlConnectionStringBuilder bag = new MySqlConnectionStringBuilder();
        bag.Server = "localhost";
        bag.UserID = "root";
        bag.Password = "123456";
        bag.Database = "randevu_takip";
        MySqlConnection baglan = new MySqlConnection();
        baglan.ConnectionString = bag.ToString();
        baglan.Open();

 MySqlCommand komut = new MySqlCommand();
        komut.Connection = baglan;
        komut.CommandType = CommandType.Text;
        komut.CommandText = "SELECT * FROM kullanicilar;";

        MySqlDataReader oku = komut.ExecuteReader();

        while (oku.Read())
        {
            MessageBox.Show(oku.GetString("sifre"));
        }

1voto

Das Problem wurde für mich gelöst, als ich die Kollation meiner Spalte von utf8mb4_unicode_520_ci auf utf8_general_ci geändert habe.

Versuche, dasselbe Zeichensatz für die Verbindung und die Tabelle zu definieren.

var connection = new MySqlConnection("Server=localhost; Port=3307; uid=your_name; Pwd=your_password; Database=your_database; charset=utf8;");

Um die Kollation für Tabellen zu ändern, können Sie Folgendes verwenden:

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8

0voto

Shamim Shaikh Punkte 717

Stoppen Sie den MySql-Server

Fügen Sie die folgende Konfiguration in die MySql-Konfigurationsdatei, d.h. die Datei my.ini ein. Diese befindet sich unter

C:\ProgramData\MySql\MySql Server [Version]

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

Starten Sie den MySql-Server

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X