Mysql C# "aucune ligne à la position -1" [trouvé]

Mysql C# "aucune ligne à la position -1" [trouvé] - C#/.NET managed - Programmation

Marsh Posté le 23-03-2006 à 12:24:15    

Bonjour
je suis en train d'apprendre le C# et j'ai checher un peut du coté des connexions au sgbd en passant par des tuto. J'ai réussi avec SqlServer2000 mais là je tente avec Mysql via le driver MysqlDriverCS. J'ai un probleme car il me retourne le message '"aucune ligne à la position -1". Je comprend par là qu'il y a while ne commence pas à la premiere ligne. J'ai des enregistrements dans la table.
 
voici le bout de code concerné.
 
 

Code :
  1. public class TestMysql {
  2.         public void GoMysql(){
  3.             MySQLConnection conn = new MySQLConnection(new MySQLDriverCS.MySQLConnectionString("localhost","spip", "root", "" ).AsString);
  4.             try {
  5.                conn.Open();
  6.                
  7.                MySQLCommand MyCommand = new MySQLDriverCS.MySQLCommand();
  8.                MyCommand.Connection = conn;
  9.                MyCommand.CommandText = "SELECT * FROM spip_index_dico";
  10.                MyCommand.ExecuteReader();
  11.                while (MyCommand.ExecuteReader().Read()){                   
  12.                     Console.Write("Data:" + MyCommand.ExecuteReader().GetValue(0).ToString());                 
  13.                     Console.WriteLine();                 
  14.                }
  15.                 Console.Read();
  16.                conn.Close();
  17.             }catch (Exception ex){
  18.                 Console.Write(ex.Message);
  19.                 Console.Read();
  20.             }
  21.         }
  22.     }


aurais-je loupé un truc ? [:ciler]  
Merci


Message édité par Berceker United le 23-03-2006 à 13:45:31
Reply

Marsh Posté le 23-03-2006 à 12:24:15   

Reply

Marsh Posté le 23-03-2006 à 13:48:32    

En faite! oui j'ai loupé un truc !
J'ai finis par trouver le problème ou du moin mon problème.
voici la raison.
Avant

Code :
  1. MyCommand.ExecuteReader();
  2. while (MyCommand.ExecuteReader().Read()){                   
  3. Console.Write("Data:" + MyCommand.ExecuteReader().GetValue(0).ToString());                 
  4.   Console.WriteLine();                 
  5. }
  6. Console.Read();
  7. conn.Close();


Après

Code :
  1. IDataReader Reader = MyCommand.ExecuteReader();
  2. while (Reader.Read()){                   
  3.   Console.Write("Data:" + Reader.GetValue(0).ToString());                 
  4.   Console.WriteLine();                 
  5. }
  6. Console.Read();
  7. conn.Close();


Voila en espérant que cela puisse servir à d'autre tache comme moi :D


Message édité par Berceker United le 23-03-2006 à 13:49:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed