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 :

Erreur de code


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 189
    Par défaut Erreur de code
    Bonjour
    je developpe avec visual studio et C#
    je fait une petite appication et j'ai cette erreur si quelqu'un peut me dire de quoi il s'agit
    volia l'erreur
    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
     
    Erreur du serveur dans l'application '/Stock'.
    --------------------------------------------------------------------------------
     
    Impossible d'insérer une valeur explicite dans la colonne identité de la table 'STKMAGASIN' quand IDENTITY_INSERT est défini à OFF. 
    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: Impossible d'insérer une valeur explicite dans la colonne identité de la table 'STKMAGASIN' quand IDENTITY_INSERT est défini à OFF.
     
    Erreur source: 
     
     
    Ligne 25 :         sourceMag.InsertParameters["MAGCODE"].DefaultValue = MAGCODE.Text;
    Ligne 26 :         sourceMag.InsertParameters["MAGLIBELLE"].DefaultValue = MAGLIBELLE.Text;
    Ligne 27 :         sourceMag.Insert();
    Ligne 28 :         dgMagasin.DataBind();
    Ligne 29 :     }
     
     
    Fichier source : c:\Inetpub\wwwroot\Stock\gdpmagasin.aspx.cs    Ligne : 27 
     
    Trace de la pile: 
     
     
    [SqlException (0x80131904): Impossible d'insérer une valeur explicite dans la colonne identité de la table 'STKMAGASIN' quand IDENTITY_INSERT est défini à OFF.]
       System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +925466
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800118
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
       System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
       System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +149
       System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
       System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +149
       System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
       System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +404
       System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +447
       System.Web.UI.WebControls.SqlDataSource.Insert() +13
       gdpmagasin.btAjout_Click(Object sender, EventArgs e) in c:\Inetpub\wwwroot\Stock\gdpmagasin.aspx.cs:27
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
       System.Web.UI.WebControls.Button.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) +33
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 32
    Par défaut
    Une des colonnes de la table STKMAGASIN, je suppose qu'il s'agit de MAGCODE, a une propriété IDENTITY.

    Une colonne IDENTITY s'incrémente automatiquement à partir d'une valeur de départ. De plus si la propriété de niveau table IDENTITY_INSERT est à OFF, ce qui est le cas par défaut, SQL Server n'autorise que l'insertion automatique d'où l'erreur.

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE ma_table(ma_colonne_1 INT IDENTITY (3,5), ma_colonne_2 CHAR(3))
     
    INSERT ma_table(ma_colonne_2) VALUES('blo')
    INSERT ma_table(ma_colonne_2) VALUES('blu')
    INSERT ma_table(ma_colonne_2) VALUES('bli')
     
    SELECT * FROM ma_table
    le résultat est :
    3 blo
    8 blu
    13 bli

    SQL Server a calculé les valeurs pour la colonne ma_colonne_1 en commençant par 3 et en appliquant un incrément de 5. Il n'y a pas besoin d'indiquer ma_colonne_1 dans les requêtes INSERT.

    Pour résoudre ton problème, il faut soit supprimer la propriété IDENTITY de la colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ma_table ALTER COLUMN ma_colonne_1 INT
    soit autoriser l'insertion par requête dans cette table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET IDENTITY_INSERT ma_table ON
    Pour choisir entre les deux réfléchis bien à ton besoin.

    ________________________________
    Seminoque, créateur de
    http://www.bingokaz.com

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 189
    Par défaut
    j'ai choisie la deuxieme solution mais le probeleme persiste
    est ce que je doit reconfiguré mon source de données dans visual studio?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 32
    Par défaut
    A priori non mais je n'ai pas testé depuis Visual Studio. Sous SQL Server, le code suivant fonctionne (le premir INSERT est rejeté à cause d'identity_insert OFF et le deuxième fonctionne grâce à identity_insert ON) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE ma_table(ma_colonne_1 INT IDENTITY (3,5), ma_colonne_2 CHAR(3))
     
    INSERT ma_table(ma_colonne_1, ma_colonne_2) VALUES(2,'blo')
     
    set identity_insert ma_table ON
     
    INSERT ma_table(ma_colonne_1, ma_colonne_2) VALUES(2,'blo')
    Rien ne t'empêche de tester aussi la première solution pour voir

    ________________________________
    Seminoque, créateur de
    http://www.bingokaz.com

  5. #5
    Membre confirmé Avatar de bartoumi
    Profil pro
    Inscrit en
    Février 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 178
    Par défaut
    C'est sur ton objet datatable que tu doit te mettre en mode edit

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 189
    Par défaut
    ok je vais tester

Discussions similaires

  1. Erreur système . Code : 1410 ?
    Par Interruption13h dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/05/2006, 08h59
  2. [Debutant][XSL] Erreur de code programmation
    Par SkyDev dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 14/03/2006, 22h38
  3. Erreur : ce code n'est pas connu
    Par ruman dans le forum VBA Access
    Réponses: 17
    Dernier message: 13/02/2006, 11h37
  4. [MySQL] Erreur dans code php
    Par Badr3am dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 31/01/2006, 22h16
  5. Erreur de code
    Par petdelascar dans le forum C
    Réponses: 7
    Dernier message: 12/12/2005, 08h15

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