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 :
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
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
Mais je sais pas comment traduire ce code en c#.
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(); } }
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.
Partager