ich den Benutzernamen und Benutzer-ID erhalten möchten, aber wenn ich den Befehl ausführen bekomme ich die Ausnahme:MySql Ausnahme von auto_increment Auswahl von Werten C#
Index außerhalb des zulässigen Bereichs war. Muss nicht negativ und kleiner als die Größe der Sammlung \ r \ nParameter Name:. Start“
Die Datenbank hat die Artikel: UserID (AutoIncrement Int (9) (PK)) und Benutzername (Varchar (20))
Code:.
using (MySqlConnection connection = new MySqlConnection(DBConnection.ConnectionString))
{
connection.Open();
MySqlCommand getUser = new MySqlCommand("SELECT * FROM User Where UserID = '42'", connection);
MySqlDataReader reader = getUser.ExecuteReader();
if (reader.HasRows){
Die Ausnahme wird bei "ExecuteReader" geworfen
Queue
"select * from Benutzer Wo UserID = '42' " ist ohne Probleme auf dem Server ausgeführt wird.
Meine Frage ist:
Warum habe ich einen Index Exception aus Reichweite?
Edit:
Ich habe auch versucht, nur die Abfrage
SELECT * FROM Benutzer Wo
User
Aber ich die gleiche Ausnahme erhalten.
Ich kann in die Tabelle einfügen und ich kann die letzte einfügen ID aber wenn ich versuche, jede Datenbank mit Select * Von XY bekomme ich die gleiche Ausnahme. Alle Tabellen sind mit innobDB und die alle haben mindestens 1 primären oder Fremdschlüssel.
Edit2:
Wenn ich wählen Sie nur den Benutzernamen der Abfrage funktioniert:
Wählen Sie Benutzernamen Benutzer
Aber wenn ich versuche, die Benutzer-ID
zu erhaltenWählen Sie Benutzer-ID von Benutzer
Ich bekomme die Ausnahme:
{ "Ziel-Array ist nicht lang genug, um alle Elemente in der Sammlung zu kopieren. Überprüfen Sie den Array-Index und die Länge. "} System.Exception {System.Argument}
Versuchen Sie, den Befehlstyp –
10 zu definieren Nein, ich habe die Typen "text" und "tabledirect" ohne Ergebnis versucht – SeeuD1
Haben Sie versucht, Spalten _explicitly_ in der Abfrage anzugeben? –