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 :

Problème sur une requête Insert


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Problème sur une requête Insert
    Bonjour,
    Svp je travaille sur une application sous VB.NET avec une base de données sql server compact édition 3.5, J'essaye d'insérer des enregistrements dans une table, aucune erreur n'est générée mais pourtant quand je consulte la table je le trouve pas.

    Voilà mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Private conn As SqlCeConnection
            conn = New SqlCeConnection("Data Source = |DataDirectory|\Mybasepointage.sdf")
            Dim tarequete As String = "Insert into Division (DivID,DivName) values ('9','hal3adkholr') "
            Dim cmd As SqlCeCommand = New SqlCeCommand(taRequete, conn)
            conn.Open()
            cmd.ExecuteNonQuery()
            conn.Close()
    J'ai même exécuté ce code en répétant cmd.ExecuteNonQuery() et ça a généré une erreur sur la 2ème disant que c'était impossible d'insérer des valeurs dupliquées pour la clé primaire ce qui veut que l'enregistrement a été bien enregistré mais encore je trouve rien sur la table!!
    Svp je vois pas ou est l'erreur je suis vraiment coincé là, Veuillez m'aider et Merci!

  2. #2
    Membre averti Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Points : 304
    Points
    304
    Par défaut
    Ton champs DivId est de quel type ?
    Un Id généralement est du type Integer.
    Pourquoi mets-tu ta valeur divId entre quotes ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Merci pour la remarque, oui c'est bien un integer je viens d'ajouter une variable integer pour l'utiliser dans la requête; mais ça ne produit aucun changement.
    Ce que je viens de remarquer, c'est que lorsque j’exécute le code 2 fois successivement on me donne une erreur comme quoi impossible d'ajouter des valeurs dupliquées et même si j'arrête l'exécution et je le relance je reçois la même erreur dés le début mais si j'actualise la connexion vers la BDD via l'explorateur des serveurs et je l'exécute je ne la reçois pas.
    Je crois que le fait d'actualiser la base de données fait perdre l'enregistrement car aussi le fait d'ouvrir la table pour la consulter est considéré comme une actualisation!
    Je ne sais vraiment pas quoi faire pour que les enregistrements reste sur la table!!!!

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Bon je viens de trouver la solution dans un autre forum, voilà le code si jamais quelqu'un en aura besoin:
    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
     
     Dim sqlconn As SqlServerCe.SqlCeConnection
        Dim sqlcmd As SqlServerCe.SqlCeCommand
        Dim strSqlInsert As String = Nothing
     
     
          sqlconn = New SqlServerCe.SqlCeConnection("Data Source=DataBase_Path")
          sqlconn.Open()
     
          strSqlInsert = "INSERT INTO Test(no, nom, prenom) VALUES(@no@nom,@prenom)"
     
          sqlcmd = New SqlServerCe.SqlCeCommand(strSqlInsert, sqlconn)
     
          With sqlcmd.Parameters
     	   .AddWithValue("@no", SqlDbType.NVarChar).Value = "1"
            .AddWithValue("@Nom", SqlDbType.NVarChar).Value = "Test_Nom"
            .AddWithValue("@prenom", SqlDbType.NVarChar).Value = "Test_Prenom"
          End With
     
          sqlcmd.ExecuteNonQuery()
     
          sqlconn.Close()
          sqlcmd.Dispose()
    Merci pour tout

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Points : 60
    Points
    60
    Par défaut
    Salut,


    J'ai le même problème mais ma base est en Access. L'insertion se fait sans problème mais je ne trouve pas l'enregistrement dans la table.
    Ou était le problème dans votre cas chinwya?
    Merci en avance.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    insea
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : insea
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut insert "Microsoft SQL Server Compact 3.5"
    j'ai le même problème, sauf que je programme en c# j’ai copié exactement ce que tu as mis .Certes ExecuteNonQuery() renvois un entier (marche ) mais ma table est vide et qd j'ai exécute successivement deux fois on m'affiche une erreur soit disant l'enregistrement existe déjà.
    besoin d'un peu plus de détails

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

Discussions similaires

  1. Problème sur une requête Insert
    Par chinwya dans le forum VB.NET
    Réponses: 0
    Dernier message: 24/07/2012, 11h57
  2. problème sur une requête mysql
    Par atomikado dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/10/2007, 16h04
  3. [Optimisation] Problème sur une requête UNION.
    Par françois62 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2005, 16h08
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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