MySql lire champs par champs

Résolu
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011 - 7 juin 2007 à 19:09
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 - 13 juin 2007 à 11:51
Bonjour a tous !!
je fait une application qui utilise MySql est j'ai un probleme pour lire tout les champs d'une table, en sql ceci devrai fonctionner :

public

SqlDataReader ChargerDossiers() //-- methode de la classe requettes

{

SqlDataReader reader;

using (
SqlConnection connection =
new
SqlConnection(
"Database=test;Data Source=127.0.0.1;User Id=root;Password=;"))
{
connection.Open();

string MySQLCmd =
"SELECT * FROM dossier";

SqlCommand command =
new
SqlCommand(MySQLCmd, connection);

reader = command.ExecuteReader();
}

return reader;
}

Après je m'en sert pour faire ça :

int

index = 0;

while (query.ChargerDossiers().Read())
//--query instance de la classe requette
{
dossier[index] =
new
Dossier(query.ChargerDossiers()[
"dateD"].ToString(),
   query.ChargerDossiers()[
"dateA"].ToString(),

   Convert.ToDouble(query.ChargerDossiers()[
"prix"]),
   query.ChargerDossiers()[
"nom"].ToString(),
   query.ChargerDossiers()[
"prenom"].ToString(),
   query.ChargerDossiers()[
"rue"].ToString(),
   query.ChargerDossiers()[
"ville"].ToString(),
   query.ChargerDossiers()[
"cp"].ToString(),

   Convert.ToInt32(query.ChargerDossiers()[
"nbenfant"]),

   Convert.ToInt32(query.ChargerDossiers()[
"nbadulte"]
);
   index++;
}

Est il me dit qu'il ne trouve pas de serveur Sql normal j'en est pas, je me suis dit que ça pouvais fonctionner avec MySql mais non

si ya quelqu'un qui connais bien MySql soçus C# bin je suis preneur, car je voudrais bien que l'on m'explique comment on fait pour créer un DataReader en MySql ou comment lire champs par champ en MySql car tout le reste j'arrive a le faire sauf ceci;

Merci

5 réponses

cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 3
8 juin 2007 à 21:13
Salut!

alors mois je fait (avec MysqlConnector) :

MaConnexion = new MySqlConnection();
string ConnexionBDD = "Database=MaBDD;Data source=localhost;User Id=root;Password=";
MaConnexion.ConnectionString = ConnexionBDD;

MaConnexion.Open();

String Requete='SELECT champs1,champs2 FROM ma_table ';

MySqlCommand ExecutionRequete = new MySqlCommand(Requete, MaConnexion);
MySqlDataReader ResultatRequete = ExecutionRequete.ExecuteReader();

while(



ResultatRequete.read()



){

    //je recupere mon 1er champs




    ResultatRequete.GetString(0);







}




ResultatRequete.Close();




MaConnexion.Close();

(et oublie pas le using MySql.Data.MySqlClient; au début)
3
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
9 juin 2007 à 13:21
Merci je vais regardais sa de suite
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
9 juin 2007 à 19:35
merci sa a lair de fonctionner mais, j'ai une ereur lors de l'appel

"La référence d'objet n'est pas définie à une instance d'un objet" pour tant je le mets le new 
la déclaration du tableau dossier qui est un tableau de dossiers , Dossier[] dossier =
new
Dossier[MAX];

int index = 0;
lire = query.ChargerDossiers();

while (lire.Read())

{
dossier[index] =
new
Dossier(lire.GetString(index), lire.GetString(index),
Convert.ToDouble(query.ChargerDossiers().GetString(index)),
                                                      lire.GetString(index),lire.GetString(index),lire.GetString(index),
                                                      lire.GetString(index),lire.GetString (index),

                                                      Convert.ToInt32(lire.GetString(index)),

                                                      Convert.ToInt32(lire.GetString(index)),
Convert.ToInt32(lire.GetString(index)));index++;
}
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
9 juin 2007 à 19:44
j'ai fait une ereur dans le code

dossier[index] =

new
Dossier(lire.GetString(0),lire.GetString(1),

lire.GetDouble(2),

lire.GetString(3),

lire.GetString(4),

lire.GetString(5),

lire.GetString(6),

lire.GetString(7),

lire.GetInt32(8),

lire.GetInt32(9),

lire.GetInt32(10));

maintenent j'ai le format de la chaine non valide mais bon je vais trouver

Merci beaucoup de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 3
13 juin 2007 à 11:51
c'est cool d'avoir pus t'aider
0