Accueil > Forum > > > > Pb intégrité clé primaire/etrangere
Pb intégrité clé primaire/etrangere
lundi 24 juillet 2006 à 19:28:29 |
Pb intégrité clé primaire/etrangere

leusha
|
Bonjour.
J'ai un petit soucis pour l'insertion de données dans une base de données MS SQL Server provenant d'un formulaire.
Explications :
J'ai une table COMPANY :
COMPANY_CODE smallint identity (1, 1) ,
CONTRACT_TYPE_CODE smallint not null ,
COMPANY_NAME char(32) null ,
COMPANY_STREETNUMBER int null ,
COMPANY_STREETNAME char(32) null ,
COMPANY_FLOOR int null ,
COMPANY_COLONIA char(32) null ,
COMPANY_ZIPCODE int null ,
COMPANY_CITY char(32) null ,
COMPANY_COUNTRY char(32) null ,
COMPANY_CONTRACTDESCRIPTION text null ,
COMPANY_LOCALISATIONLINK varchar(255) null
,
constraint PK_COMPANY primary key (COMPANY_CODE)
Et j'ai une table CONTACT :
CONTACT_CODE smallint identity (1, 1) ,
COMPANY_CODE smallint not null ,
CONTACT_FIRSTNAME char(32) null ,
CONTACT_LASTNAME char(32) null ,
CONTACT_EMAIL varchar(128) null ,
CONTACT_PHONENUMBER char(32) null
,
constraint PK_CONTACT primary key (CONTACT_CODE)
On ne s'occupe pas des autres clés étrangères présentes dans chacune des deux tables.
L'utilisateur remplit un formulaire ou il entre le nom de son entreprise, adresse etc... puis son nom, prénom, mail etc...
Je peux insérer sans problèmes les infos du contact dans la table
CONTACT et les infos de l'entreprise dans la table COMPANY. Seulement,
le code de l'entreprise (COMPANY_Code) est un code autoincrémenté et je
ne sais pas comment l'insérer dans le COMPANY_Code de la table CONTACT.
Je pensais qu'il s'insérait de lui même comme dans la table COMPANY
mais apparemment il faut que je le rajoute a la main dans la table
CONTACT. Je ne sais pas comment faire.
Voici mon code d'insertion dans la table CONTACT :
oCommand = New System.Data.SqlClient.SqlCommand(sSQL, oConnection)
oDataReader = oCommand.ExecuteReader()
oDataReader.Close()
sSQL = "INSERT INTO [CONTACT](CONTACT_FirstName, COMPANY_CODE, CONTACT_LastName, CONTACT_Email, CONTACT_PhoneNumber)" _
& " VALUES('" & TB_ContactFirstName.Text & "','
@COMPANY_Code ','" & TB_ContactLastName.Text & "','" &
TB_ContactEMail.Text & "','" & TB_ContactPhoneNo.Text &
"')"
oCommand = New System.Data.SqlClient.SqlCommand(sSQL, oConnection)
oDataReader = oCommand.ExecuteReader()
oDataReader.Close()
oConnection.Close()
Evidemment ça ne marche pas (@COMPANY_Code était une tentative despesérée )
J'espere que qq1 pourra m'aider. 
Merci d'avance
|
|
mardi 25 juillet 2006 à 09:40:31 |
Re : Pb intégrité clé primaire/etrangere

vlaad
|
Le truc c'est de recupérer en base de données l'id de ta compagnie (companyCode) avant de l'inserer dans la table contact. Pour bien tu peux faire quelque chose de ce style: Insertion de ta company dans ta table
INSERT INTO COMPANY (CONTRACT_TYPE_CODE,COMPANY_NAME,...,Champn) VALUES (@CONTRACT_TYPE_CODE,@COMPANY_NAME,...@Champn); Récupération de l'ID de ta compagnie: declare @CodeCompany TypeDeDonne(int ou nvarchar); set @CodeCompany = (select COMPANY_CODE FROM COMPAGNY WHERE CONTRACT_TYPE_CODE= @CONTRACT_TYPE_CODE, AND COMPANY_NAME=@COMPANY_NAME, ..., AND Champn=@Champn);
Insertion des données dans ta table contact
INSERT INTO CONTACT(CONTACT_FIRSTNAME, CONTACT_LASTNAME, COMPANY_CODE...) VALUES (@Nom, @Prenom, @CodeCompany....); Du coup ta requete devrait avoir cette tête là:Dim strSQL_INSERTION_COMPANY AsStringDim strSQL_RECUPERATION_ID_COMPANY AsStringDim strSQL_INSERTION_CONTACT AsStringDim str_REQETE_FINALE AsStringstrSQL_INSERTION_COMPANY = "INSERT INTO COMPANY (CONTRACT_TYPE_CODE,COMPANY_NAME,...,Champn) VALUES(@CONTRACT_TYPE_CODE,@COMPANY_NAME,...@Champn);"strSQL_RECUPERATION_ID_COMPANY = "declare @CodeCompany TypeDeDonne(int ou nvarchar); set @CodeCompany =(select COMPANY_CODE FROM(COMPAGNY)WHERE CONTRACT_TYPE_CODE= @CONTRACT_TYPE_CODE,AND COMPANY_NAME=@COMPANY_NAME,...,AND Champn=@Champn);"strSQL_INSERTION_CONTACT= "INSERT(INTO)CONTACT(CONTACT_FIRSTNAME, CONTACT_LASTNAME, COMPANY_CODE...)VALUES()(" & TB_ContactFirstName.Text & "," & TB_ContactLastName.Text & ",@CodeCompany ....);"str_REQETE_FINALE = strSQL_INSERTION_COMPANY & strSQL_RECUPERATION_ID_COMPANY & strSQL_INSERTION_CONTACT PS: je ne l'ai pas testé, c'est juste un ordre d'idée. Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...
|
|
Cette discussion est classée dans : table, code, char, contact, company
Répondre à ce message
Sujets en rapport avec ce message
Comment créer une table dans une base à partir d'un code [ par webmaster91 ]
Bonjour,Comment créer une table avec plusieurs champs dans une base à partir d'un code ?MerciWebm@ster91
parcourir une table de bas en haut... [ par Benji ]
J'ai écrit le bout de code suivant pour pouvoir me connecter à une DB Access en DNS-less. Tou fonctionne, mais en fait je désirerais parcourir la tabl
Récupération de données [ par Benz ]
Bonjour,J'utilise une requète avec 3 tables jointes et j'ai un problème de récupération de certaines données.Je ne vais pas vous mettre la requète pui
afficher une table [ par hudon77 ]
Bonjour a tous... j'aimeraias savoir comment afficher une table dans un datalist mais je dois traiter un champs de la table a l'affichage... jai des s
Génération de code dynamique [ par martok ]
Bonjour tout le monde. Je débute en ASP et j'ai un blem sur un projet qu'on m'a confié : On me demande de faire une sorte de MySqlAdmin en ASP.NET. J
manip sur textbox dans un formview [ par equinoxe83 ]
Bonjour à tous,J'ai le Pb suivant (j'ai volontairement simplifié dans l'exemple) :J'ai une table articles (code + libellé) et une table commandes (Qté
Access integrité referentielle [ par ihsan19 ]
Bonjour J'ai un probleme d'integrite referentielle entre 2 tables La premiere table comporte les tarifs des clients ( table_prix_code)elle se compose
gro problM access VBA SQL [ par snowsurfer69 ]
salut a tous!!!voila j'ai 1 gros problème et c'est très urgent!!!!voila j'crée une base de données sous access 2002 et donc j'utilise du code VBAen fa
Info d une table asp [ par Byrong ]
Comment récupère t-on e code behind les infos d'une table asp? [code=vb] For x = O To Table1.Rows.Count-1 For y = 0 To 3 Text= Table1.Rows(x).Cel
conversion de types( DWORD char[]) [ par koukou1111 ]
slt,je trouve un problème au niveau de la conversion d'un DWORD en tableau de char( je travaille sous VC++ avec les MFC) quelqu'un peut m'aider? [cod
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|