Bonjour a tous,

Je cherche a faire une fonction lister qui listerai tout mes tables suivant les parametre que je lui passerai.

Actuellement je suis obliger de faire une fonction lister par table :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  static public List<Client> ListerClient(int idClient = 0)
        {
 
                List<Client> listClient = new List<Client>();
                string requete;
                using (SqlConnection cx = new SqlConnection(ChaineConnexion))
                {
                    if (idClient != 0)
                    {
                        requete = "SELECT * FROM Client WHERE idclient = " + idClient;
                    }
                    else
                    {
                        requete = "SELECT * FROM Client ";
                    }
 
                    int idcli;
                    string nom;
                    string prenom;
 
 
                    SqlCommand cmd = new SqlCommand(requete, cx);
                    cx.Open();
                    SqlDataReader myreader = cmd.ExecuteReader();
                    while (myreader.Read())
                    {
                        idcli = myreader.GetInt32(0);
                        nom = myreader.GetString(1);
                        prenom = myreader.GetString(2);
 
                        Client NewClient = new Client(idcli, nom, prenom);
                        listClient.Add(NewClient);
                    }
                }
                return listClient;
 
        }//fin de fonctionLister Client
En php j'utiliser PDO et FETCH ALL :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
static public function lister($classe, $primary=null, $id=null)
	{	
		$tableau = array();
		$sql;
		$table=$classe."s"; //nom de la table ou de la vue
		try
		{
			$pdo = PDO2::getInstance();
			if($id==null)
			{
				$sql="SELECT  * FROM ".$table;
			}
			else
			{
				$sql="SELECT  * FROM ".$table." WHERE ". $primary ."='".$id."'";
			}	
			$stmt = $pdo->query($sql);
			$tableau = $stmt->fetchALL(PDO::FETCH_CLASS, $classe);
			$pdo = NULL;
			return $tableau;
		}
		catch (PDOException $e)
		{
			echo 'Error: ', $e->__toString();
 
		}
	}
Mais je sais pas comment traduire ce code en c#.

C'est surtout au niveau de fetchALL(PDO::FETCH_CLASS

Je ne vous demande pas de m’écrire le code de cette fonction mais juste de me mettre sur la voie.

Merci a vous.