__salwa
Messages postés37Date d'inscriptionjeudi 1 décembre 2005StatutMembreDernière intervention19 juin 20081 3 janv. 2008 à 13:18
oui tu as raison, le but principale de l'appli et de donner une idée sur comment créer un provider. chacun pourra le manipuler a sa guise: se connecter a une base de données, un web services ou....
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 3 janv. 2008 à 12:27
Ps : pour la procédure RetrievePersonne(), favorise les datareader plutôt que le dataset, tu gagnera en performance, d'autant que tu ne demande de générer des requêtes d'insert, update, delete qui n'ont pas d'interet là! Car si il ne retourne aucune ligne, ça va te faire des Throw sur les 3 lignes "Convert.ToInt32(ds.Tables[0].Rows[0]["id"]);" vu qu'il n'y a aucune ligne.
Dans la procédure SavePersonne()
lignes : cmd.CommandText = "INSERT INTO [Buildings].[dbo].[Personne]([Nom], [Prenom]) VALUES('" + p.Nom + "','"+ p.Prenom + "')";
Si on change de base de données, ça marche plus! Si p.nom = null ça marche pas non plus. Il faudrait faire évoluer la class personne pour ce genre de test sans doute. Prévoir aussi des requete d'insert dynamique, car si tu ajoute un champs dans la table, tu dois reparcourir toutes tes requêtes SQL... de quoi perdre du temps.
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 3 janv. 2008 à 12:18
Hello, le code me parait bien écrit, mais quel est l'interet de créer un provider avec une connection pour SQL. Tu pourrais créer une classe qui fait la même opération (ajout, suppression, mise à jour) en se connectant directement à SQL?
3 janv. 2008 à 13:18
3 janv. 2008 à 12:27
Dans la procédure SavePersonne()
lignes : cmd.CommandText = "INSERT INTO [Buildings].[dbo].[Personne]([Nom], [Prenom]) VALUES('" + p.Nom + "','"+ p.Prenom + "')";
Si on change de base de données, ça marche plus! Si p.nom = null ça marche pas non plus. Il faudrait faire évoluer la class personne pour ce genre de test sans doute. Prévoir aussi des requete d'insert dynamique, car si tu ajoute un champs dans la table, tu dois reparcourir toutes tes requêtes SQL... de quoi perdre du temps.
3 janv. 2008 à 12:18