JasonLief Geschrieben 13. Oktober 2010 Geschrieben 13. Oktober 2010 Hallo FI-Users Ich habe ein Problem. Ich wollte ein Hangman Programmiere mit C# in ASP.NET Dann habe ich eine Lokale DB und ein Server, auf der DB sind die Wörter. Nun habe ich einen Service erstellt, welchen diese Daten "abholt". Jedoch bekomme ich immer ein Fehler: No current query in data reader Methode im Service [WebMethod] public String[] getRandomWord() { String currentWord = ""; MySqlConnection connection = new MySqlConnection(myConnectionString); MySqlCommand command = connection.CreateCommand(); command.CommandText = "SELECT COUNT(*) AS COUNT FROM hangman_woerter"; MySqlDataReader Reader; connection.Open(); Reader = command.ExecuteReader(); if (Reader.HasRows) { Reader.Read(); maxValue = Reader.GetInt32(Reader.GetOrdinal("COUNT")); } else { maxValue = 10; } //Random zufall = new Random(); //int randomID = zufall.Next(Reader); connection.Close(); connection.Open(); command.CommandText = "SELECT Wort FROM hangman_woerter"; Reader = command.ExecuteReader(); Random zufall = new Random(); int randomID = zufall.Next(maxValue); if (Reader.HasRows) { for (int i = 0; i < randomID; i++) { Reader.NextResult(); } Reader.Read(); [COLOR="Red"]currentWord = Reader.GetString("Wort");[/COLOR] } String[] wortArray = new String[currentWord.Length]; //wortArray = currentWord.Split(); for (int i = 0; i < currentWord.Length; i++) { wortArray[i] = currentWord.Substring(i, 1); } connection.Close(); return wortArray; } Was machh ich falsch? Danke für Antworten Lg JL
ronaldus Geschrieben 14. Oktober 2010 Geschrieben 14. Oktober 2010 Hi, vielleicht solltest Du anders vorgehen: 1. Hole alle Wörter aus der DB Reader = command.ExecuteReader(); List<string> alleWoerter = new List<string>; while (reader.Read()) { alleWoerter.Add(Reader.GetString("Wort")); } 2. Dann Zufallszahl bestimmen...und aus Wort aus der Liste holen int max = alleWoerter.Count; Random zufall = new Random(); int randomID = zufall.Next(max); string wort = alleWoerter[randomID]; Die Verarbeitung ist einfacher und nicht so Fehleranfällig... Gruß Ron
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden