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

VB.NET Discussion :

Erreur d'insertion sqlserver


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut Erreur d'insertion sqlserver
    Bonjour,
    je sais pas pourquoi ça bloque alors que le même code sur une autre table d'une autre base de données marche et ça me met en rage,voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim cn As New SqlConnection
            Dim cmd As New SqlCommand
            cn.ConnectionString = "Data Source=MEHDI-PC\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=eco"
            Try
                cn.Open()
                cmd.Connection = cn
                cmd = New SqlCommand("insert into AGENTS(NOM_AG,PRENOM_AG,ADR_AG,TEL_AG) values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "');", cn)
                cmd.ExecuteNonQuery()
                MsgBox("Ajout avec succes")
            Catch ex As Exception
                MsgBox("Erreur d'insertion")
            Finally
                cn.Close()
            End Try
    quand j'exécute il m'affiche le message erreur d'insertion.
    je mentionne que ma table est comme suit:
    Code_AG qui est une clé primaire est qui s'incrémente automatiquement.
    je précise que quand j'ai lancé la requête sur sqlserver ce dernier me pose la valeur du champ nom dans le champs code.
    Merci.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,

    exactement les mêmes remarques que dans votre précédente discussion :
    • Utilise les requêtes paramètrées.
    • Mettre ex.ToString dans le catch et nous donner le message d'erreur.

  3. #3
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    le message indique que:
    les données de chaines ou binaires seront tronquées.

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Changer votre code par une utilisation des paramètres comme précédemment indiqué :
    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
            Dim cn As New SqlConnection
            Dim cmd As New SqlCommand
            cn.ConnectionString = "Data Source=MEHDI-PC\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=eco"
            Try
                cn.Open()
                cmd.Connection = cn
                cmd.CommandText = "insert into AGENTS( NOM_AG , PRENOM_AG , ADR_AG , TEL_AG ) values( ? , ? , ? , ? )"
                cmd.Parameters.Add("nom", SqlDbType.VarChar).Value = TextBox1.Text
                cmd.Parameters.Add("nom", SqlDbType.VarChar).Value = TextBox2.Text
                cmd.Parameters.Add("nom", SqlDbType.VarChar).Value = TextBox3.Text
                cmd.Parameters.Add("nom", SqlDbType.VarChar).Value = TextBox4.Text
     
                cmd.ExecuteNonQuery()
                MsgBox("Ajout avec succes")
            Catch ex As Exception
                MsgBox("Erreur d'insertion " & ex.ToString)
            Finally
                cn.Close()
            End Try
    Vérifiez le type des champs de la base de donnée et changé les lignes de 8 à 11 en conséquence.

    Exécutez et dite nous si vous avez encore un message d'erreur?

  5. #5
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    question:
    par quoi je dois remplacer les point d'interrogations qu'il y dans la requête et par quoi remplacer "nom" qui se répète dans cmd.parametrs.add.
    Merci.

  6. #6
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Excuse moi, j'ai été trop vite avec les copiez collé :
    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
      Dim cn As New SqlConnection
            Dim cmd As New SqlCommand
            cn.ConnectionString = "Data Source=MEHDI-PC\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=eco"
            Try
                cn.Open()
                cmd.Connection = cn
                cmd.CommandText = "insert into AGENTS( NOM_AG , PRENOM_AG , ADR_AG , TEL_AG ) values( ? , ? , ? , ? )"
                cmd.Parameters.Add("nom", SqlDbType.VarChar).Value = TextBox1.Text
                cmd.Parameters.Add("prenom", SqlDbType.VarChar).Value = TextBox2.Text
                cmd.Parameters.Add("adr", SqlDbType.VarChar).Value = TextBox3.Text
                cmd.Parameters.Add("tel", SqlDbType.VarChar).Value = TextBox4.Text
     
                cmd.ExecuteNonQuery()
                MsgBox("Ajout avec succes")
            Catch ex As Exception
                MsgBox("Erreur d'insertion " & ex.ToString)
            Finally
                cn.Close()
            End Try
    Les ? ne sont pas à remplacé, c'est le framework qui s'en charge, il les remplace par la valeur des paramètres créés après

  7. #7
    Membre à l'essai
    Homme Profil pro
    génie logiciel
    Inscrit en
    Mars 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : génie logiciel

    Informations forums :
    Inscription : Mars 2012
    Messages : 113
    Points : 21
    Points
    21
    Par défaut
    Snakasssss je te remercie et en fait vous allez penser que je suis con mais c'est bien une faute de con en fait sur la base de données le champs Adresse la taille était de 1
    Merci beaucoup et je vous demanderai de bien m'aider sur l'autre discussion parcque c'est elle qui m'emmerde.

  8. #8
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Pas de soucis, mais quand un membre telle que rv26t demande d'utiliser les requêtes paramétrées, suivez son conseil, il le fait pour votre bien. Ces paramètres permettent d'enlever pas mal de problèmes de sécurités.

    Pensez à mettre votre sujet en résolu avec le bouton en bas.

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

Discussions similaires

  1. erreur dans insertion bd sqlserver
    Par linux20009 dans le forum C#
    Réponses: 5
    Dernier message: 30/04/2010, 16h40
  2. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 11h41
  3. Warning et Erreur en Insertion
    Par minimoi1234 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/04/2005, 11h30
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 12h38

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