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

C# Discussion :

Insert ligne non inséré dans base


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Par défaut Insert ligne non inséré dans base
    Bonjour,

    Je me connecte à une base de doonnée sql server.

    J'arrive bien à récupérer des informations de celle-ci(select).

    Mais quand j'essaye de faire un insert, la fonction me renvoie bien "1" pour une ligne affectée.

    Cependant cette ligne n'est pas ajouté à la base de donnée.

    Voici le 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
    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
     
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
     
    namespace Trainer
    {
        class DataAccess
        {
            public SqlConnection maConnexion { get; set; }
            private String connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
     
     
     
            public  DataAccess()
            {
     
                maConnexion = new SqlConnection(connectionString);
                maConnexion.Open();
     
            }
     
            public int insertQuery(String query)
            {
     
     
                SqlCommand insert = new SqlCommand();
     
                insert.Connection = maConnexion;
                insert.CommandType = CommandType.Text;
                insert.CommandText = "INSERT INTO Student(s_Nom,s_Prenom) VALUES(@nom,@prenom)";
                insert.Parameters.Add("@nom",SqlDbType.NVarChar).Value = "Nom";  
                insert.Parameters.Add("@prenom",SqlDbType.NVarChar).Value = "Prenom";
     
     
     
                 int ln = insert.ExecuteNonQuery();
     
                 maConnexion.Close();
                 //maConnexion.Close();
                 return ln;
            }
     
        }
    }

    Merci d'avance de votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Cependant cette ligne n'est pas ajouté à la base de donnée.
    Comment l'as tu vérifié ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Par défaut
    Je fais un executeNonQuery();

    JE récupère le nombre de ligne affecté.

    Comme je fais un insert, cette fonction me retourne 1.

    Je vais ensuite dans la base de donnée, j'affiche les données de la table mais il n'y a pas de données à par celle que j'ai rentré manuellement et que j'arrive a récupérer.

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bizarre ?

    Je ne vois rien d'anormal et ta commande semble correcte
    Tu va verifier apres le close ?
    Comment vas-tu voir dans la base ?

    Moi je ne spécifie jamais le commandtype pour ce type de requete

    Et il est souvent conseillé d'utiliser le AddWithValue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command.Parameters.AddWithValue("@demographics", demoXml);

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Par défaut
    merci du conseil.

    je vais dans la base de donnée sql et je tape une requête manuellement.

Discussions similaires

  1. insertion SQL non faites dans la Base ?
    Par pcouas dans le forum Hibernate
    Réponses: 2
    Dernier message: 28/05/2009, 18h49
  2. Récupérer des lignes non enregistrées dans une table
    Par leddy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/04/2008, 15h09
  3. [MySQL] Insertion image et texte dans base de données
    Par lelapinrusse dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/03/2008, 16h15
  4. Ligne non selectionnée dans une jTable
    Par tchoukapi dans le forum Composants
    Réponses: 3
    Dernier message: 14/06/2007, 00h50
  5. retour a la ligne non voulu dans mes tableaux ????
    Par cedre22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/03/2006, 15h48

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