Affichage des tables d'une base de donné dans la console avec c#

Fermé
risaaa Messages postés 35 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 6 avril 2015 - 12 oct. 2012 à 20:10
risaaa Messages postés 35 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 6 avril 2015 - 13 oct. 2012 à 18:11
Bonsoir,
je voudrais savoir comment afficher des tables d'Oracle 10g XE avec c# dans Visual Studio 2012. Au fait j'ai le programme principale et une classe que j'ai ajouté qui comporte 4 méthodes la connexion, fermeture, liste des Hôtels et liste des clients, bref je dois afficher ces liste en appelant les méthodes dans le programme principale voila les code
Code principale:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TP1Part2
{
class Program
{
static void Main(string[] args)
{
int i;
connexion.Connexion();
// lister les Hotel
Console.Write("La liste des hôtels: \n");
// connexion.GetHotel();
Console.Write(connexion.GetHotel());



// lister les Hotel
Console.Write("\nLa liste des clients: \n");
connexion.GetClient();
// Console.Write( connexion.GetClient());



connexion.close();
i = Console.Read();
}

}
}
=====================================================================================
et Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Client.OracleDataReader;
using Oracle.DataAccess.Types;
using System.Data;
using System.Data.SqlClient;

namespace TP1Part2
{


class connexion
{
static string sql;
static OracleConnection conn;
static OracleCommand cmd;
static OracleDataAdapter da;
static DataSet ds;

public static void Connexion ()
{
try
{
string ordb = " User Id = System; Password = oracle;";
conn = new OracleConnection(ordb);
conn.Open();
Console.Write("La connexion est ouverte\n");
}
catch (OracleException e) {Console.Write (e); }
/*object k = conn.State.ToString ();
Console.Write(k);*/
}

public static DataTable GetHotel()
{
Console.WriteLine("Accès à la table de Hôtel");
sql = "select nom_hotel from hotel where region = 'alger'";
cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
da = new OracleDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
return ds.Tables[0] ;
// OracleDataReader reader= cmd.ExecuteReader();
// affichage résultats


}


public static DataTable GetClient()
{
sql = "select * from client";
cmd = new OracleCommand (sql, conn);
cmd.CommandType = CommandType.Text;
da = new OracleDataAdapter (cmd);
ds = new DataSet ();
da.Fill(ds);
return ds.Tables[0];
}

// Liste des hotel ayant + de 5 Chambre
/* public static DataTable GetHot()
{sql = "select (nom_hotel where
}*/

//Fermeture

public static void close()
{
conn.Close();
Console.Write("\nLa connexion est fermée");
}


}}
désolé j'ai laissé des commentaire qui ne sont pas necessaire car je faisais des essais
et pour information je suis débutante en c# je viens de commencer à l'apprendre et j'ai beaucoup cherché, li de documents soit ça marche pas soit c'est pas pour console donc s'il vous plait aidez moi car je vais devenir folle et merci d'avance



1 réponse

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
13 oct. 2012 à 16:55
Le problème c'est que tu essaies d'afficher un dataset sur la console.

Essaye plutôt de faire ceci :

Console.WriteLine(connexion.GetHotel().GetXml());
Console.WriteLine(connexion.GetClients().GetXml());


En ajoutant GetXml() il me semble que tu pourras avoir une sortie console car ça peut être affiché sous forme de texte xml (balises et toutiquanti).

Sinon il te faudra parcourir ton dataset pour en afficher chacun des objets sous forme de texte.
0
risaaa Messages postés 35 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 6 avril 2015
13 oct. 2012 à 18:11
ok je comprend je vais l'essayer merci beaucoup
0