Guten Abend Forummitglieder
Ich programmiere mit .Net c++, und habe dort zwegs Datenbank eine MySql Datenbankschnittstelle eingebaut...
Erstmal bisschen Input
:
Also, ich habe einen UDP Server, welcher 24 Stunden am tag auf Anfragen wartet, bei ihm aufm server is auch die MySql datenbank, die Benutzer verbinden sch mittels einem UDP Client. Ziel der ganzen geschichte ist es, das der Benutzer in der Datenbank mit seiner aktuellen IP gemeldet ist.
Das ganze funktioniert wunderbar, der UDP Server aktualisiert mittels dem Update Befehl die Zeilen der Benutzer, und legt auch neue an, wenn sich neue Benutzer im System einklinken.
Das ganze macht er voll automatisch bis zum 17 Eintrag, wenn sich dann ein Benutzer in der Datenbank anmelden will, bekommt der UDP Server eine System.Index.Out.of.range.Exception, hier mal der betroffene Codeschnipsel:
Die Index Out of Range Exception bezieht sich auf die Zeile: IP[aktDatensatz] = leser->GetString(4);
Und zwar erst beim auslesen der 17 Zeile, alle davor liest er ohne probleme aus...
Ich hab ehrlich gesagt keine Ahnung warum das so ist, hoffe allerdings das hier irgendwer dieses Phänomen kennt und eine Lösung parat hat
Ich programmiere mit .Net c++, und habe dort zwegs Datenbank eine MySql Datenbankschnittstelle eingebaut...
Erstmal bisschen Input

Also, ich habe einen UDP Server, welcher 24 Stunden am tag auf Anfragen wartet, bei ihm aufm server is auch die MySql datenbank, die Benutzer verbinden sch mittels einem UDP Client. Ziel der ganzen geschichte ist es, das der Benutzer in der Datenbank mit seiner aktuellen IP gemeldet ist.
Das ganze funktioniert wunderbar, der UDP Server aktualisiert mittels dem Update Befehl die Zeilen der Benutzer, und legt auch neue an, wenn sich neue Benutzer im System einklinken.
Das ganze macht er voll automatisch bis zum 17 Eintrag, wenn sich dann ein Benutzer in der Datenbank anmelden will, bekommt der UDP Server eine System.Index.Out.of.range.Exception, hier mal der betroffene Codeschnipsel:
Code:
//Daten aus Datenbank abfragen
befehl = verbindung->CreateCommand();
befehl->CommandText = "SELECT * FROM MSS_Users";
leser = befehl->ExecuteReader();
int aktDatensatz;
//Daten in Arrays kopieren
aktDatensatz = -1;
while (leser->Read())
{
aktDatensatz++;
ID[aktDatensatz] = leser->GetInt32(0);
Name[aktDatensatz] = leser->GetString(1);
GUID[aktDatensatz] = leser->GetInt32(2);
Level[aktDatensatz] = leser->GetInt32(3);
IP[aktDatensatz] = leser->GetString(4);
}
Und zwar erst beim auslesen der 17 Zeile, alle davor liest er ohne probleme aus...
Ich hab ehrlich gesagt keine Ahnung warum das so ist, hoffe allerdings das hier irgendwer dieses Phänomen kennt und eine Lösung parat hat
