MySql lire champs par champs [Résolu]

gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
- 7 juin 2007 à 19:09 - Dernière réponse : cs_Kassidy
Messages postés
97
Date d'inscription
lundi 2 mai 2005
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Kassidy
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Dernière intervention
21 mars 2008
- 8 juin 2007 à 21:13
3
Merci
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)

Merci cs_Kassidy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de cs_Kassidy
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
- 9 juin 2007 à 13:21
0
Merci
Merci je vais regardais sa de suite
Commenter la réponse de gretata
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
- 9 juin 2007 à 19:35
0
Merci
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++;
}
Commenter la réponse de gretata
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Dernière intervention
19 janvier 2011
- 9 juin 2007 à 19:44
0
Merci
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
Commenter la réponse de gretata
cs_Kassidy
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Dernière intervention
21 mars 2008
- 13 juin 2007 à 11:51
0
Merci
c'est cool d'avoir pus t'aider
Commenter la réponse de cs_Kassidy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.