DataSet Lecture Ecriture

billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008 - 2 mars 2006 à 12:18
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008 - 2 mars 2006 à 13:08
Salut tout le monde,
je vous expose mon (gros) probleme, j'ai une base de données, une table "tr_dtl" et j'aimerai récupérer toutes les données de la tables et l'écrire dans un fichier,
j'ai un début mais je ne sais pas ce qu'il manque dans mon code..
aidez moi svp..



string requete =
"SELECT * FROM tr_dtl";

OleDbConnection connecte =
new
OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\WindowsApplication_IP_ben\\bd1.mdb");

OleDbDataAdapter adapter =
new
OleDbDataAdapter(requete, connecte);
adapter.SelectCommand =
new
OleDbCommand(requete, connecte);

StreamWriter SW;
SW =
File.CreateText(
"C:\\GraphViz\\Fichiers entrées\\Test_" + t +
".dot");

SW.WriteLine(
"digraph G {");
SW.WriteLine(
"concentrate = true;");

try
{

while (MonReader.Read())
{
SW.WriteLine(//la je sais pas quoi mettre
);
}
}

catch (
Exception e2)
{

MessageBox.Show(e2.Message,
"exception adresses.cs");
}

SW.WriteLine(
"}");
SW.Close();
MonReader.Close();
connecte.Close();
}

4 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 mars 2006 à 12:45
Tu mélanges des choses et il manque du code aussi. Mx et moi on t'a déja répondu >ici<
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
2 mars 2006 à 12:59
Salut,

Il me semble que Lutinore t'avais deja donné la réponse.
Sinon, permets moi de te corriger ton code un peu ;)


<HR>


string requete =
"SELECT * FROM tr_dtl";

// utiliser @ pour eviter de double les '\'
OleDbConnection connecte =
new
OleDbConnection(
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WindowsApplication_IP_ben\bd1.mdb");



// Pourquoi utiliser un Adapter pour ensuite boucler sur un reader ?
// OleDbDataAdapter adapter = new OleDbDataAdapter(requete, connecte);
// adapter.SelectCommand = new OleDbCommand(requete, connecte);

OleDbCommand cmd =
new
OleDbCommand(requete, connecte);



StreamWriter SW =
null;

try
{
SW =
File.CreateText(
@"C:\GraphViz\Fichiers entrées\Test_" + t +
".dot");
SW.WriteLine(
"digraph G {");
SW.WriteLine(
"concentrate = true;");
connecte.Open();

OleDbDataReader monReader = cmd.ExecuteReader();

while (monReader.Read())
{
SW.WriteLine(monReader[0].ToString());
// 0 pour la premiere colonne
}
monReader.Dispose(); // .net 2 seulement
monReader =
null;
}

catch (
IOException ioe) {
MessageBox.Show(ioe.Message,
"exception adresses.cs"); }

catch (
OleDbException ode) {
MessageBox.Show(ode.Message,
"exception adresses.cs"); }

catch (
Exception e2) {
MessageBox.Show(e2.Message,
"exception adresses.cs"); }

finally
{

// Toujours mettre les opérations qui doivent s'executer
// quoiqu'il arrive dans un finally
// (fermrture de connexion, dispose des ressources)
if (SW !=
null)
{
SW.WriteLine(
"}");
SW.Close();
SW =
null;
}
connecte.Close();
connecte.Dispose();
connecte =
null;
}


<HR>



Mx
MVP C#
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
2 mars 2006 à 13:00
Oh, lutinore avait deja répondu depuis bien longtemps



Mx
MVP C#
0
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
2 mars 2006 à 13:08
j'me suis planté dsl j'avais mis en commentaire le reader pour tester le Adapter, mais au moment ou j'ai copié le code sur le forum, j'ai enlevé tout ce que javais mis en commentaire.
Merci pour tout le reste
0
Rejoignez-nous