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 :

identifiant non autoincrementé


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut identifiant non autoincrementé
    bjr,

    dans ma fromview j'aimerai que mon identifiant lors de l'insertion des données prenne la valeur du dernier enregistrement +1. mon identifiant n'est pas autoincrement. alors je fais une requete max(id)+1 pour le retrouver mais je ne sais pas comment l'affecter dans ma requete d'insertion.
    merci de votre aide.

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Tu devrais déléguer ce travail à une procédure stockée qui te permettras non seulement de récupéré de nouvel ID dans ta requête INSERT, mais en plus de faire cela au sein d'une transaction pour mieux sécurisé le tout (éviter les PB d'INSERT simultanés)

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    En PL/SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO TableName
    (IdColumn, NameColumn)
    SELECT (MAX(IdColumn) + 1), 'NewName' FROM TableName

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut procédure tockée
    slt,

    j'ai fait une procédure stockée la voila:
    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
    ALTER PROCEDURE dbo.SP_INSERT_APPEL
     
    	(
    	   @A_ETAT char(10),
    	   @A_URGENCE char(1),
    	   @A_IMPACT char(10),
    	   @A_PRIORITE char(10),
    	   @A_CREATEUR char(15),
    	   @A_DATECREATION DateTime,
    	   @A_VECTEURAPPEL char(10),
    	   @A_PRODUITCODE char(10),
    	   @A_PRODUITLIB char(20),
    	   @A_VERSION char(10),
    	   @A_EVALUATION char(1),
    	   @A_CONTRATCODE char(10),
    	   @A_SOCIETECODE char(10),
    	   @A_SOCIETELIB char(20),
    	   @A_PARTENAIRE char(1),
    	   @A_INTERLCODE char(10),
    	   @A_INTERLLIB char(20),
    	   @A_INTERLTEL char(24),
    	   @A_INTERLMAIL char(24),
    	   @A_DESCRIPTION char(254)
     
    	)
     
    AS
        DECLARE @A_NUMEROAPPEL int; 
     
    	SET @A_NUMEROAPPEL = (SELECT NextId from IDS where TableName='APPELS');
    	UPDATE IDS SET NextId=@A_NUMEROAPPEL+1 where TableName='APPELS';
     
    	INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
    	   VALUES (@A_NUMEROAPPEL ,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)  
     
    	   	RETURN  @@IDENTITY
    mais ça ne marche pas. alors j'ai pensé à une requete sql .





    Citation Envoyé par BCmDev
    En PL/SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO TableName
    (IdColumn, NameColumn)
    SELECT (MAX(IdColumn) + 1), 'NewName' FROM TableName

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut sur ta requete
    slt
    ton 'NewName' represente koi?




    Citation Envoyé par BCmDev
    En PL/SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO TableName
    (IdColumn, NameColumn)
    SELECT (MAX(IdColumn) + 1), 'NewName' FROM TableName

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Une procédure, c'est ce qu'il faut faire. La tienne m'a l'air bien. Tu gères une table de séquences, c'est ça ?
    As-tu une erreur à l'exécution ?

  7. #7
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    J'aurais plus vu un truc de ce genre :

    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
    ALTER PROCEDURE dbo.SP_INSERT_APPEL
     
    	(
    	   @A_ETAT char(10),
    	   @A_URGENCE char(1),
    	   @A_IMPACT char(10),
    	   @A_PRIORITE char(10),
    	   @A_CREATEUR char(15),
    	   @A_DATECREATION DateTime,
    	   @A_VECTEURAPPEL char(10),
    	   @A_PRODUITCODE char(10),
    	   @A_PRODUITLIB char(20),
    	   @A_VERSION char(10),
    	   @A_EVALUATION char(1),
    	   @A_CONTRATCODE char(10),
    	   @A_SOCIETECODE char(10),
    	   @A_SOCIETELIB char(20),
    	   @A_PARTENAIRE char(1),
    	   @A_INTERLCODE char(10),
    	   @A_INTERLLIB char(20),
    	   @A_INTERLTEL char(24),
    	   @A_INTERLMAIL char(24),
    	   @A_DESCRIPTION char(254)
     
    	)
     
    AS
        DECLARE @A_NUMEROAPPEL int; 
     
        SET @A_NUMEROAPPEL = SELECT (MAX(A_NUMEROAPPEL) + 1) FROM APPELS
     
       INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
       VALUES (@A_NUMEROAPPEL ,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut erreur de syntaxe
    j'ai l'erreur suivante:

    erreur de syntaxe vers select.



    Citation Envoyé par guitoux1
    J'aurais plus vu un truc de ce genre :

    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
    ALTER PROCEDURE dbo.SP_INSERT_APPEL
     
    	(
    	   @A_ETAT char(10),
    	   @A_URGENCE char(1),
    	   @A_IMPACT char(10),
    	   @A_PRIORITE char(10),
    	   @A_CREATEUR char(15),
    	   @A_DATECREATION DateTime,
    	   @A_VECTEURAPPEL char(10),
    	   @A_PRODUITCODE char(10),
    	   @A_PRODUITLIB char(20),
    	   @A_VERSION char(10),
    	   @A_EVALUATION char(1),
    	   @A_CONTRATCODE char(10),
    	   @A_SOCIETECODE char(10),
    	   @A_SOCIETELIB char(20),
    	   @A_PARTENAIRE char(1),
    	   @A_INTERLCODE char(10),
    	   @A_INTERLLIB char(20),
    	   @A_INTERLTEL char(24),
    	   @A_INTERLMAIL char(24),
    	   @A_DESCRIPTION char(254)
     
    	)
     
    AS
        DECLARE @A_NUMEROAPPEL int; 
     
        SET @A_NUMEROAPPEL = SELECT (MAX(A_NUMEROAPPEL) + 1) FROM APPELS
     
       INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
       VALUES (@A_NUMEROAPPEL ,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)

  9. #9
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut Balises CODE manquantes
    Et comme ça ?
    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
    ALTER PROCEDURE dbo.SP_INSERT_APPEL
    	
    	(
    	   @A_ETAT char(10),
    	   @A_URGENCE char(1),
    	   @A_IMPACT char(10),
    	   @A_PRIORITE char(10),
    	   @A_CREATEUR char(15),
    	   @A_DATECREATION DateTime,
    	   @A_VECTEURAPPEL char(10),
    	   @A_PRODUITCODE char(10),
    	   @A_PRODUITLIB char(20),
    	   @A_VERSION char(10),
    	   @A_EVALUATION char(1),
    	   @A_CONTRATCODE char(10),
    	   @A_SOCIETECODE char(10),
    	   @A_SOCIETELIB char(20),
    	   @A_PARTENAIRE char(1),
    	   @A_INTERLCODE char(10),
    	   @A_INTERLLIB char(20),
    	   @A_INTERLTEL char(24),
    	   @A_INTERLMAIL char(24),
    	   @A_DESCRIPTION char(254)
    	   
    	)
    	
    AS
        DECLARE @A_NUMEROAPPEL int; 
     
        SET @A_NUMEROAPPEL = SELECT TOP 1 A_NUMEROAPPEL FROM APPELS ORDER BY A_NUMEROAPPEL DESC;
    	
       INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
       VALUES (@A_NUMEROAPPEL + 1,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut tjrs idem
    c'est toujours la même erreur.
    syntaxe incorrect vers select


    Citation Envoyé par guitoux1
    Et comme ça ?
    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
    ALTER PROCEDURE dbo.SP_INSERT_APPEL
    	
    	(
    	   @A_ETAT char(10),
    	   @A_URGENCE char(1),
    	   @A_IMPACT char(10),
    	   @A_PRIORITE char(10),
    	   @A_CREATEUR char(15),
    	   @A_DATECREATION DateTime,
    	   @A_VECTEURAPPEL char(10),
    	   @A_PRODUITCODE char(10),
    	   @A_PRODUITLIB char(20),
    	   @A_VERSION char(10),
    	   @A_EVALUATION char(1),
    	   @A_CONTRATCODE char(10),
    	   @A_SOCIETECODE char(10),
    	   @A_SOCIETELIB char(20),
    	   @A_PARTENAIRE char(1),
    	   @A_INTERLCODE char(10),
    	   @A_INTERLLIB char(20),
    	   @A_INTERLTEL char(24),
    	   @A_INTERLMAIL char(24),
    	   @A_DESCRIPTION char(254)
    	   
    	)
    	
    AS
        DECLARE @A_NUMEROAPPEL int; 
     
        SET @A_NUMEROAPPEL = SELECT TOP 1 A_NUMEROAPPEL FROM APPELS ORDER BY A_NUMEROAPPEL DESC;
    	
       INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
       VALUES (@A_NUMEROAPPEL + 1,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)

  11. #11
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Désolé, je faisait de mémoire. Il semble qu'il faille rajouter des parenthèses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    SET @A_NUMEROAPPEL = (SELECT TOP 1 A_NUMEROAPPEL FROM APPELS ORDER BY A_NUMEROAPPEL DESC);
    ...

  12. #12
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    SELECT @A_NUMEROAPPEL = NextId from IDS where TableName='APPELS';

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut ok
    apparament il n'ya plus d'erreur maintenant j'essaie de l'executer.








    Citation Envoyé par guitoux1
    Désolé, je faisait de mémoire. Il semble qu'il faille rajouter des parenthèses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    SET @A_NUMEROAPPEL = (SELECT TOP 1 A_NUMEROAPPEL FROM APPELS ORDER BY A_NUMEROAPPEL DESC);
    ...

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut où je positionne ça
    je positionne
    @A_NUMEROAPPEL = NextId from IDS where TableName='APPELS';
    à quel niveau?
    merci





    Citation Envoyé par BCmDev
    SELECT @A_NUMEROAPPEL = NextId from IDS where TableName='APPELS';

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut erreur
    Erreur du serveur dans l'application '/VueSTC'.
    --------------------------------------------------------------------------------

    Trop d'arguments sont spécifiés pour la procédure ou la fonction StoredProcedure6.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.SqlClient.SqlException: Trop d'arguments sont spécifiés pour la procédure ou la fonction StoredProcedure6.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:


    [SqlException (0x80131904): Trop d'arguments sont spécifiés pour la procédure ou la fonction StoredProcedure6.]
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +177
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +68
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2305
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +147
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1021
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +314
    System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +413
    System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +115
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +392
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +405
    System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +68
    System.Web.UI.WebControls.FormView.HandleInsert(String commandArg, Boolean causesValidation) +389
    System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +609
    System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +88
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
    System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +109
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
    System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +86
    System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +153
    System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +172
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4921


    j'ai cette erreur ,avec le generateur de profil sql j'ai ça lors de l'execution:

    exec StoredProcedure6 @A_ETAT = NULL, @A_URGENCE = NULL, @A_IMPACT = NULL, @A_PRIORITE = NULL, @A_CREATEUR = N'hmd', @A_DATECREATION = NULL, @A_VECTEURAPPEL = NULL, @A_PRODUITCODE = NULL, @A_PRODUITLIB = NULL, @A_VERSION = NULL, @A_EVALUATION = NULL, @A_CONTRATCODE = NULL, @A_SOCIETECODE = NULL, @A_SOCIETELIB = NULL, @A_PARTENAIRE = NULL, @A_INTERLCODE = NULL, @A_INTERLLIB = NULL, @A_INTERLTEL = NULL, @A_INTERLMAIL = NULL, @A_DESCRIPTION = NULL, @A_NUMEROAPPEL = N'', @AFF_AFFAIRE2 = N'', @LIB_PRODUIT = N'', @LIB_VERSION = N''
    parceque dans ma procédure stockée get je recupère des informations avec des jointure et je crois que pour l'insertion il demande les trois derniers champs qui sont dans d'autres tables.
    je veux juste ecrire dans la table APPELS. comment faire?






    Citation Envoyé par guitoux1
    Et comme ça ?
    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
    ALTER PROCEDURE dbo.SP_INSERT_APPEL
    	
    	(
    	   @A_ETAT char(10),
    	   @A_URGENCE char(1),
    	   @A_IMPACT char(10),
    	   @A_PRIORITE char(10),
    	   @A_CREATEUR char(15),
    	   @A_DATECREATION DateTime,
    	   @A_VECTEURAPPEL char(10),
    	   @A_PRODUITCODE char(10),
    	   @A_PRODUITLIB char(20),
    	   @A_VERSION char(10),
    	   @A_EVALUATION char(1),
    	   @A_CONTRATCODE char(10),
    	   @A_SOCIETECODE char(10),
    	   @A_SOCIETELIB char(20),
    	   @A_PARTENAIRE char(1),
    	   @A_INTERLCODE char(10),
    	   @A_INTERLLIB char(20),
    	   @A_INTERLTEL char(24),
    	   @A_INTERLMAIL char(24),
    	   @A_DESCRIPTION char(254)
    	   
    	)
    	
    AS
        DECLARE @A_NUMEROAPPEL int; 
     
        SET @A_NUMEROAPPEL = SELECT TOP 1 A_NUMEROAPPEL FROM APPELS ORDER BY A_NUMEROAPPEL DESC;
    	
       INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
       VALUES (@A_NUMEROAPPEL + 1,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)

  16. #16
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Tu as donc résolu le problème de l'incrément !?
    Ce problème a l'air complètement différent, non ?

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut pas resolu
    bjr,
    pas encore resolu, ça ne fonctionne pas tjrs.




    Citation Envoyé par BCmDev
    Tu as donc résolu le problème de l'incrément !?
    Ce problème a l'air complètement différent, non ?

  18. #18
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Tu dois pouvoir faire une procStock pour l'insertion qui prend tous les parametres du select en entrée, et qui fait les insert dans les différentes tables.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut proc stock
    j'ai essayé avec uneprocédure stockée mais comme avec mon get j'ai des jointure alors pour l'insertion il va chercher ces champ là alors que je veux inserer rien que dans la table principale, pas dans les autres.
    voici ma procédure insert

    ALTER PROCEDURE dbo.SP_INSERT_APPEL

    (
    @A_ETAT char(10),
    @A_URGENCE char(1),
    @A_IMPACT char(10),
    @A_PRIORITE char(10),
    @A_CREATEUR char(15),
    @A_DATECREATION DateTime,
    @A_VECTEURAPPEL char(10),
    @A_PRODUITCODE char(10),
    @A_PRODUITLIB char(20),
    @A_VERSION char(10),
    @A_EVALUATION char(1),
    @A_CONTRATCODE char(10),
    @A_SOCIETECODE char(10),
    @A_SOCIETELIB char(20),
    @A_PARTENAIRE char(1),
    @A_INTERLCODE char(10),
    @A_INTERLLIB char(20),
    @A_INTERLTEL char(24),
    @A_INTERLMAIL char(24),
    @A_DESCRIPTION char(254)

    )

    AS
    DECLARE @A_NUMEROAPPEL int;

    SET @A_NUMEROAPPEL = (SELECT NextId from IDS where TableName='APPELS');
    UPDATE IDS SET NextId=@A_NUMEROAPPEL+1 where TableName='APPELS';

    INSERT INTO APPELS (A_NUMEROAPPEL,A_ETAT,A_URGENCE,A_IMPACT,A_PRIORITE,A_CREATEUR,A_DATECREATION,A_VECTEURAPPEL,A_PRODUITCODE,A_PRODUITLIB,A_VERSION,A_EVALUATION,A_CONTRATCODE,A_SOCIETECODE,A_SOCIETELIB,A_PARTENAIRE,A_INTERLCODE,A_INTERLLIB,A_INTERLTEL,A_INTERLMAIL,A_DESCRIPTION)
    VALUES (@A_NUMEROAPPEL ,@A_ETAT,@A_URGENCE,@A_IMPACT,@A_PRIORITE,@A_CREATEUR,@A_DATECREATION,@A_VECTEURAPPEL,@A_PRODUITCODE,@A_PRODUITLIB,@A_VERSION,@A_EVALUATION,@A_CONTRATCODE,@A_SOCIETECODE,@A_SOCIETELIB,@A_PARTENAIRE,@A_INTERLCODE,@A_INTERLLIB,@A_INTERLTEL,@A_INTERLMAIL,@A_DESCRIPTION)

    RETURN @@IDENTITY

    voici la get :

    ALTER PROCEDURE dbo.SP_GET_APPELS


    AS
    SELECT APPELS.A_ETAT, APPELS.A_NUMEROAPPEL, APPELS.A_SOCIETECODE, APPELS.A_SOCIETELIB, APPELS.A_URGENCE, APPELS.A_PRIORITE,
    APPELS.A_IMPACT, APPELS.A_CREATEUR, APPELS.A_DATECREATION, APPELS.A_VECTEURAPPEL, APPELS.A_PRODUITCODE,
    APPELS.A_PRODUITLIB, APPELS.A_VERSION, APPELS.A_EVALUATION, APPELS.A_CONTRATCODE, APPELS.A_PARTENAIRE, APPELS.A_INTERLCODE,
    APPELS.A_INTERLLIB, APPELS.A_INTERLTEL, APPELS.A_INTERLMAIL, APPELS.A_DESCRIPTION, CONTRATS_VALIDES.AFF_AFFAIRE2,
    V_PRODUIT_VERSION.LIB_PRODUIT, V_PRODUIT_VERSION.LIB_VERSION
    FROM APPELS INNER JOIN
    CONTRATS_VALIDES ON APPELS.A_CONTRATCODE = CONTRATS_VALIDES.AFF_AFFAIRE2 INNER JOIN
    V_PRODUIT_VERSION ON APPELS.A_PRODUITCODE = V_PRODUIT_VERSION.CODE_PRODUIT AND
    APPELS.A_VERSION = V_PRODUIT_VERSION.CODE_VERSION
    WHERE (APPELS.A_ETAT = 'Non Lu')

    RETURN


    j'ai une erreur trop de paramètre.



    Citation Envoyé par guitoux1
    Tu dois pouvoir faire une procStock pour l'insertion qui prend tous les parametres du select en entrée, et qui fait les insert dans les différentes tables.

  20. #20
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    j'ai une erreur trop de paramètre.
    C'est normal car ta requête GET retourne 24 colonnes, mais ta requête INSERT prend 20 paramètres en entrée.
    Tu peux à ce moment ajouter des paramètres "bidons" dans ta requête INSERT.
    Attention à bien respecter l'ordre entre les colonnes retournées par le GET et les paramètres de ta requête INSERT

Discussions similaires

  1. [Turbo Pascal] Identifiant non reconnu
    Par hallaj dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 23/06/2008, 01h37
  2. Requete sur identifiant non existant
    Par Eldokoeur dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/05/2008, 16h35
  3. [MySQL] Identifiant non correspondant
    Par kate59 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/02/2008, 09h21
  4. Réponses: 12
    Dernier message: 26/08/2005, 10h02
  5. [FLASH MX] Erreur : L'identifiant non sensible à ...
    Par blowdesign dans le forum Flash
    Réponses: 2
    Dernier message: 16/05/2004, 21h10

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