IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

SqlDataSource Insérer/Modifier/Supprimer dans 2 tables


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Responsable informatique
    Inscrit en
    Mars 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 112
    Par défaut SqlDataSource Insérer/Modifier/Supprimer dans 2 tables
    Bonjour à Tous,

    J'ai un formulaire qui a comme source des données 2 tables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT B.[Bouclement_IdLigne], B.[Client_ID], B.[Activite_ID], B.[Date_RecepDoc], B.[Date_BoucProv], 
    	   B.[Date_BoucDefi], B.[Commentaire], B.[Annee], C.[PvAgRecu],  C.[F103_Envoye], C.[R25_Envoye],
    	   C.[DeclIntegrite_Recu]	
    	FROM [Bouclement] AS B 
    		INNER JOIN [ComplementBoucRevi] AS C
    			ON C.[Client_ID] = B.[Client_ID]
    				AND C.[Annee] = B.[Annee]
    	WHERE B.[Client_ID] = @Client_ID
    Comment faites-vous dans SqlDataSource pour insérer, supprimer et mettre à jour les données des 2 tables?

    Merci d'avance.

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    il se passe quoi si tu mets 2 insert dans ton datasource?

  3. #3
    Membre confirmé
    Profil pro
    Responsable informatique
    Inscrit en
    Mars 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 112
    Par défaut
    Merci rattlehead de ton intervation.
    En faite, avec une seule table, aucun problème, là en l'occurence je dois gérer les données des 2 tables sur un formulaire.

    Je viens d'avoir une solution que je teste encore, c'est d'utiliser des procédures stockées.

    T-SQL:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    CREATE PROCEDURE [dbo].[usp_BoucInsert](
    	@Client_ID decimal(10, 0),
    	@Activite_ID smallint,
    	@Date_RecepDoc datetime ,
    	@Date_BoucProv datetime ,
    	@Date_BoucDefi datetime,
    	@Commentaire nvarchar(max),
    	@Annee numeric(4,0),
    	@PvAgRecu bit,
    	@F103_Envoye bit,
    	@R25_Envoye bit,
    	@DeclIntegrite_Recu bit
    )
    	AS
     
    INSERT INTO [FiducDB2].[dbo].[Bouclement]
               ([Client_ID], [Activite_ID], [Date_RecepDoc], [Date_BoucProv], [Date_BoucDefi], [Commentaire], [Annee])
         VALUES
               (@Client_ID, @Activite_ID, @Date_RecepDoc, @Date_BoucProv, @Date_BoucDefi, @Commentaire, @Annee)
     
    INSERT INTO [FiducDB2].[dbo].[ComplementBoucRevi]
               ([Client_ID], [PvAgRecu], [F103_Envoye], [R25_Envoye], [DeclIntegrite_Recu], [Commentaire], [Annee])
         VALUES
               (@Client_ID, @PvAgRecu, @F103_Envoye, @R25_Envoye, @DeclIntegrite_Recu, @Commentaire, @Annee)
    RETURN @@IDENTITY
     
    ------------------------
     
    CREATE PROCEDURE [dbo].[usp_BoucUpdate](
    	@Bouclement_IdLigne smallint,
    	@Client_ID decimal(10, 0),
    	@Activite_ID smallint,
    	@Date_RecepDoc datetime ,
    	@Date_BoucProv datetime ,
    	@Date_BoucDefi datetime,
    	@Commentaire nvarchar(max),
    	@Annee numeric(4,0),
    	@PvAgRecu bit,
    	@F103_Envoye bit,
    	@R25_Envoye bit,
    	@DeclIntegrite_Recu bit
    )
    	AS
    UPDATE [Bouclement] 
    	SET [Date_RecepDoc] = @Date_RecepDoc, 
    		[Date_BoucProv] = @Date_BoucProv, 
    		[Date_BoucDefi] = @Date_BoucDefi, 
            [Commentaire] = @Commentaire
    	WHERE [Bouclement_IdLigne] = @Bouclement_IdLigne
     
    UPDATE [ComplementBoucRevi]
    	SET [PvAgRecu] = @PvAgRecu, 
    		[F103_Envoye] = @F103_Envoye, 
    		[R25_Envoye] = @R25_Envoye, 
    		[DeclIntegrite_Recu] = @DeclIntegrite_Recu
    	WHERE [Client_ID] = @Client_ID
    		AND [Annee] = @Annee
    RETURN @@IDENTITY
    ASP.NET:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <asp:SqlDataSource ...
                InsertCommand="usp_BoucInsert" 
                InsertCommandType="StoredProcedure" 
                ...
                UpdateCommand="usp_BoucUpdate"
                UpdateCommandType ="StoredProcedure" >
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insérer, modifier, supprimer table de 18 champs ADOcommand
    Par natura dans le forum Bases de données
    Réponses: 2
    Dernier message: 30/05/2008, 12h11
  2. [VB.Net] Comment insérer des données dans des tables ?
    Par shakoulé dans le forum Accès aux données
    Réponses: 2
    Dernier message: 23/09/2006, 21h46
  3. Réponses: 2
    Dernier message: 12/05/2006, 12h00
  4. Réponses: 14
    Dernier message: 19/10/2004, 13h58
  5. insérer une date dans une table mssql
    Par ericmart dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/01/2004, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo