lefreeman42
Messages postés28Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention15 juin 2006
-
15 juin 2006 à 10:59
lefreeman42
Messages postés28Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention15 juin 2006
-
15 juin 2006 à 15:05
Bonjour,
J'ai un fichier XML qui se présente sous cette forme :
Lorsque j'essaie de lire mon fichier, j'ai une erreur à partir du second if(monfichierxml.LocalName= =quelque chose). Lorsque j'en ai qu'un ca fonctionne niquel.
Voici le code :
XmlTextReader fichierXml = new XmlTextReader(oFD.FileName);
fichierXml.WhitespaceHandling=WhitespaceHandling.None;
while (fichierXml.Read())
{
if (fichierXml.LocalName=="Client")
{
//on récupère chacun des attributs contenus dans les balises 'Client'
int num = Convert.ToInt32(fichierXml.GetAttribute("NumCli"));
string nom = fichierXml.GetAttribute("Nom");
string prenom = fichierXml.GetAttribute("Prenom");
string rue = fichierXml.GetAttribute("Rue");
string cp = fichierXml.GetAttribute("Code_postal");
string ville = fichierXml.GetAttribute("Ville");
string tel = fichierXml.GetAttribute("Telephone");
try
{
if(numexistant==num)
{
maj = new OleDbCommand();
maj = maCnx.CreateCommand();
maj.CommandText="UPDATE client SET nom='"+nom+"',prenom='"+ prenom+"',rue='"+rue+"',codepostal='"+cp+"',ville='"+ville+"',tel='"+tel+"' WHERE idcli="+num;
maj.ExecuteNonQuery();
maj.Dispose();
}
else
{
insertion = new OleDbCommand();
insertion = maCnx.CreateCommand();
insertion.CommandText = "INSERT INTO client VALUES ("+num+", '"+nom+"','"+prenom+"','"+rue+"','"+cp+"','"+ville+"','"+tel+"')";
insertion.ExecuteNonQuery();
insertion.Dispose();
}
}
catch (SqlException erreur)
{
MessageBox.Show(erreur.Message);
}
bool tp=fichierXml.MoveToNextAttribute();
}
if (fichierXml.LocalName=="Magazine")
{
//on récupère chacun des attributs contenus dans les balises 'Magazine'
int num = Convert.ToInt32(fichierXml.GetAttribute("NumMag"));
string titre = fichierXml.GetAttribute("Titre");
try
{
if(numexistant==num)
{
maj = new OleDbCommand();
maj = maCnx.CreateCommand();
maj.CommandText="UPDATE magazine SET nommag='"+titre+"' WHERE idmag="+num;
maj.ExecuteNonQuery();
maj.Dispose();
}
else
{
insertion = new OleDbCommand();
insertion = maCnx.CreateCommand();
insertion.CommandText = "INSERT INTO magazine VALUES ("+num+", '"+titre+"')";
insertion.ExecuteNonQuery();
insertion.Dispose();
}
}
catch (SqlException erreur)
{
MessageBox.Show(erreur.Message);
}
bool tp=fichierXml.MoveToNextAttribute();
}
Je n'ai pas le if pour l'abonnement vu que c'est le même principe que le reste.
Désolé pour la longueur du code : /
Si quelqu'un pouvait m'aider rapidement,ça serait super, la je suis en train de péter un cable
lefreeman42
Messages postés28Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention15 juin 2006 15 juin 2006 à 15:05
Bon j'ai enfin trouvé l'erreur à la con que j'avais fait...
Tout simplement à cause d'une apostrophe : /
Enfin merci quand même d'avoir regardé mon cas ^^