Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : insert et objet [ Algorithme / Maths ] (babe59)

lundi 5 mai 2008 à 08:55:54 | insert et objet

babe59

Bonjour,

Hypothèse : 
   - une table TBL_CLIENT : données es clients 
   - un objet "Client" qui permet (entre autre) de géré un client. Cet objet contient des méthodes et des propriétés (correspondantes aux différentes colonnes de ma table TBL_CLIENT)

Question:
Je voudrais implémenter une méthode "Client.Add" afin d'ajouter un nouveau client dans ma table TBL_CLIENT. Comment dois-je m'y prendre pour passer tous les champs de l'insert :
   1° Faire une structure qui sera en paramétre de ma méthode .Add ?
   2° Utiliser toutes les propriétés de l'objet "Client" que le programme appelant devra obligatoirement initialiser ?
   3° Passer toutes les champs de l'insert un a un en paramétre de ma méthode ".Add" ?
   4° Autre chose ?

MErci

DT

lundi 5 mai 2008 à 16:13:03 | Re : insert et objet

jacksparoow

Je vais te proposer deux manières pour faire la chose mais il y en a plusieurs :

la première est de passer par une requête paramètrée comme ça montre cet article
 
la deuxième est de passer par une simple replace(), exemple :

req = "Insert into table_client (id, nom) values(@id,@nom)".Replace("@id",ObjetClient.ID.toString()).Replace("@nom", ObjetClient.Nom.toString());
_____________________________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)

lundi 5 mai 2008 à 17:21:01 | Re : insert et objet

babe59

j'ai du mal m'exprimer. Concerant la requete SQL, pas de souci. J' essaye de respecter la notion des 3 couches. Ma question concerné plus le passage de paramètre à la méthode qui se charge de faire l'insert
Explication dans le "source"

Methode 1 :
Client = new Client();
Client.numero = 123;
Client.nom = "eee";
Client.adresse = "aaa";
Client.Add();


Methode 2 :
Client = new Client();
Client.Add (numero, nom, adresse);
// ou numero, nom, adresse sont des variables


Methode 3:
StructClient structClient = new StructClient
structClient.numero = 123;
structClient.nom = "eee";
structClient.adresse= "aaaa";
Client = new Client();
Client.Add (structClient);


Qu'elle est la mieux, y en a t il d'autres ?


DT

lundi 5 mai 2008 à 22:37:39 | Re : insert et objet

jacksparoow

D'aprés ce que je vois la méthode Add existe à l'intérieur da la classe Client donc ta ps respecté l'architecture 3 couche car là c'est une classe métier qui est client et qui se charge en plus d'accéder à la base de donnée.

En tous cas si la méthode Add existe à l'intérieur de la classe client donc y a aucun besoin de lui passer des paramètres car elle peut les avoir juste en utilisant le mot clé this.

Methode 1 :
Client = new Client();
Client.numero = 123;
Client.nom = "eee";
Client.adresse = "aaa";
Client.Add();

je préfère ps ni la deuxième ni la troisième prk?? et bien par ce que la troisième est plus lourde et la deuxième tu passe par des variables qui n'ont rien avoir avec ton objet Client cela veut dire que tu ajoute dans la table alors que ton objet n'a ps encors d'identité et à toi de voir.

_______________________________________________________________
Yassine BENNANI
- Ingénieur en génie logiciel & multimédia (Consultant SI)

vendredi 9 mai 2008 à 00:19:04 | Re : insert et objet

coq

Administrateur CodeS-SourceS
Salut,

"req = "Insert into table_client (id, nom) values(@id,@nom)".Replace("@id",ObjetClient.ID.toString()).Replace("@nom", ObjetClient.Nom.toString());"
Une requête semi paramétrée donc... ce truc est totalement à proscrire.


/*
coq
MVP Visual C#
CoqBlog
*/

vendredi 9 mai 2008 à 01:44:03 | Re : insert et objet

jacksparoow

pourquoi???

Les fins justifient les moyens_________________________________________________
Yassine BENNANI
- Ingénieur en génie logiciel & multimédia (Consultant SI)

vendredi 9 mai 2008 à 09:23:03 | Re : insert et objet

coq

Administrateur CodeS-SourceS
Ca ne résoud en rien le problème de formatage (même si probablement iunexistant ici, sauf peut être sur grandes valeurs de ID) et celui de l'injection SQL.
Autant écrire directement
req = String.Format("Insert into table_client (id, nom) values({0},{1})", ObjetClient.ID.ToString(), ObjetClient.Nom.ToString()); // A NE PAS FAIRE


/*
coq
MVP Visual C#
CoqBlog
*/



Cette discussion est classé dans : insert, table, objet, client, tbl


Répondre à ce message

Sujets en rapport avec ce message

remoting [ par petitou ] Salut,voila ma question :Je crée un client/serveur avec .NET Remoting. J'ai 3 classes :client, serveur et remote. remote est l'objet unique instancié Méthode de développement OBJET [ par tiboleo ] Bonjour, Je vous expose ma façon de concevoir. Pourriez vous me donner votre avis et/ou m'orienter ? Base SQL SERVER MCD OK Dans l'appli C#, je crée l par où commencer ? [ par GerardChezy ] Bonjour à tous.Je débute en C# et je suis amateur en programmation. Je voudrai me lancer dans une application de gestion de factures avec une bdd cont Insert depuis une listeBox [ par Never_Summer ] Hello, Voila mon problème, je fai une appli de gestion de stock, avec une base de donnée mySQL. Mon but est de fair des insert dans des tables, donc BLOB : Insert à partir d'une table [ par olleane ] Bonjour. Je voudrais copier tous les enregistrements d'une table vers une autre ayant pratiquement la même structure. VOus devez vous dire que c'est t Relations Access [ par reythierry ] Bonjour,Voici mon problème :J'ai une Base Access avec ça:Contenu de la table Clients : N°Client(clé primaire), nom, prénom,adresse.Contenu de la table [C#] dataset typés [ par philo71 ] Bonjour, Je développe un appli en C# 2003 avec SQL serveur 2000.je cherche des infos sur les datasets typés, j'ai quelques questions a vous poser. Je SqlServer et les ComputedColumn [ par mastercatz ] Bonjour. Je suis en train de me faire une application de base de données et j'ai besoin de récupérer le schéma de la table certaines fois. Seulement i Insert ds une table ! [ par jimmy69 ] Bonjour,j'essayes de faire un insert dans une table ms sql serveur en webform !mais ca ne fonctionne pas il me dit Mon code :The name 'v' is not permi Utilisation des HashTables [ par ManuSpDev ] Bonjour, J'utilise des hasthables pour stocker des objets(instances d'un objet de base) sous la forme suivante :Clé (en principe attribut de l'objet q


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.