begin process at 2012 05 27 22:00:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Base de données

 > 

SQL Server

 > 

Erreur lors d'un INSERT INTO


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur lors d'un INSERT INTO

lundi 25 juillet 2011 à 09:59:54 | Erreur lors d'un INSERT INTO

WineFun


Bonjour,



j'ai cette erreur quand je fais un nouvel ah=jouts dans ma base de donnée, via mon site en aspx.



La référence d'objet n'est pas définie à une instance d'un objet.



Voici mon code
Code C# :
protected void BtnEnvpersonnel_Click(object sender, EventArgs e)
  {
    //Connection Serveur
    try
    {
      string ConnectionStrings = ConfigurationManager.ConnectionStrings["christophe-pc/sqlexpress.master.dbo"].ToString();
    }

    catch (Exception E)
    {
      lblMessage.Text = E.Message;
    }
    // Inserer les données

    // on récupere les données du formulaire.
    string persoNom = TxtBxName.Text;
    string persoPrenom = TxtBxLastName.Text;
    string persoAge = TxtBxAge.Text;
    string persoMetier = TxtBxMetier.Text;
    string persoExpe = TxtBxExpe.Text;
    string persoSpec = TxtbxSpec.Text;
    int persoRestoId = DropDownListIdResto.SelectedIndex;

    // on ajoute les nouvelles données à la base.


    string vs_chaine = "INSERT INTO [SiteResto].[dbo].[Personnel] ([Name],[lastName],[Metier],[Age],[Specialite],[Experience],[IDResto]) VALUES (,@persoNom,@persoPrenom,@persoAge,@persoMetier,@persoExp,@persoSpec,@persoRestoId)";

    SqlCommand comm = new SqlCommand(vs_chaine);


    comm.Parameters.Add(new SqlParameter("@persoNom", SqlDataSource1));
    comm.Parameters["@persoNom"].Value = persoNom;

    comm.Parameters.Add(new SqlParameter("@persoPrenom", SqlDataSource1));
    comm.Parameters["@persoPrenom"].Value = persoPrenom;

    comm.Parameters.Add(new SqlParameter("@persoAge", SqlDataSource1));
    comm.Parameters["@persoAge"].Value = persoAge;

    comm.Parameters.Add(new SqlParameter("@persoMetier", SqlDataSource1));
    comm.Parameters["@persoMetier"].Value = persoMetier;

    comm.Parameters.Add(new SqlParameter("@persoExp", SqlDataSource1));
    comm.Parameters["@persoExp"].Value = persoExpe;

    comm.Parameters.Add(new SqlParameter("@persoSpec", SqlDataSource1));
    comm.Parameters["@persoSpec"].Value = persoSpec;

    comm.Parameters.Add(new SqlParameter("@persoRestoId", SqlDataSource1));
    comm.Parameters["@persoRestoId"].Value = persoRestoId;
  }
 


Dans mon fichier web.config
Code C# :
<connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=christophe-pc\sqlexpress.master.dbo;Integrated Security=True"
      providerName="System.Data.SqlClient" />
    <add name="ConnectionString2" connectionString="Data Source=CHRISTOPHE-PC\SQLEXPRESS;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings> 



Merci


Autodidacte de 48 ans
mardi 26 juillet 2011 à 09:26:05 | Re : sonnection

Julien39

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

il me semble que le problème vient de vs_chaine qui a un format assez étrange. Peux tu nous donner la trace de l'erreur ?

(Je modifie le titre de ta question, pense à en utiliser un plus précis la prochaine fois).

Bon courage

Julien
mardi 26 juillet 2011 à 11:50:22 | Re : Erreur lors d'un INSERT INTO

WineFun


Bonjour,

Merci pour la correction du titre.

J'ai réussit à corriger , il y avait plusieurs erreurs.
voici mon code Fini et fonctionnel.
Code C# :
 protected void BtnEnvpersonnel_Click(object sender, EventArgs e)
        {
            SqlConnection connection = null;
            SqlCommand comm = null;

            
            //Connection Serveur
            try
            {
                string ConnectionStrings = System.Configuration.ConfigurationManager.ConnectionStrings["AjoutPersonnel"].ConnectionString;
                connection = new SqlConnection(ConnectionStrings);


                // Inserer les données

                // on récupere les données du formulaire.
                string persoNom = TxtBxName.Text;
                string persoPrenom = TxtBxLastName.Text;
                string persoAge = TxtBxAge.Text;
                string persoMetier = TxtBxMetier.Text;
                string persoExpe = TxtBxExpe.Text;
                string persoSpec = TxtbxSpec.Text;
                string persoIDResto = DropDownListIdResto.SelectedValue;

                // on ajoute les nouvelles données à la base.


                string query = "INSERT INTO [SiteResto].[dbo].[Personnel] "+
                    "([Name],[lastName],[Metier],[Age],[Specialite],[Experience],"+
                    "[IDResto]) VALUES (@persoName,@persoPrenom,@persoMetier,"+
                    "@persoAge,@persoSpecialite,@persoExperience,@persoIDResto)";

                comm = new SqlCommand(query);

                comm.Parameters.Add(new SqlParameter("@persoName", persoNom));
                //comm.Parameters["@persoName"].Value = persoNom;

                comm.Parameters.Add(new SqlParameter("@persoPrenom", persoPrenom));
                //comm.Parameters["@persoPrenom"].Value = persoPrenom;

                comm.Parameters.Add(new SqlParameter("@persoAge", persoAge));
                //comm.Parameters["@persoAge"].Value = persoAge;

                comm.Parameters.Add(new SqlParameter("@persoMetier", persoMetier));
                //comm.Parameters["@persoMetier"].Value = persoMetier;

                comm.Parameters.Add(new SqlParameter("@persoExperience", persoExpe));
                //comm.Parameters["@persoExperience"].Value = persoExpe;

                comm.Parameters.Add(new SqlParameter("@persoSpecialite", persoSpec));
                //comm.Parameters["@persoSpecialite"].Value = persoSpec;

                comm.Parameters.Add(new SqlParameter("@persoIDResto", persoIDResto));
                //comm.Parameters["@persoIDResto"].Value = persoIDResto;


                connection.Open();
                comm.Connection = connection;
                comm.ExecuteNonQuery();
                // ici on est sûr que la requête a bien été exécutée.
                lblMessage.Text = " Les données sont enregistrées!";
            }
            catch (SqlException E)
            {
                //  Any uncaught errors will percolate up to Application_Error event handler though in this catch block 
                //  I am declaring that I understand that there is potential for an SqlException and am therefor trapping them here 

                string message = "Une erreur de connexion SQL est survenue" + E.Message + " " +comm.CommandText;
                lblMessage.Text = message;
            }
            catch (Exception E)
            {
                string message = "Une erreur est survenue" + E.Message;
                lblMessage.Text = message;

            }
            finally
            {
                if (connection != null)
                    connection.Close();
            } 
}



Autodidacte de 48 ans
mardi 26 juillet 2011 à 11:54:17 | Re : Erreur lors d'un INSERT INTO

WineFun

Réponse acceptée !
Bonjour,

Pour expliquer, j'avais pas déclaré mes variables en extérieur.
j'avais mal mis dans l'ordre mes Values.
et j'avais mal déclaré mon ConnectionStrings["AjoutPersonnel"]

voilà mais il m'a fallut 7 heures de recherches pour comprendre.
Dommage que je ne trouve pas de tutoriels qui explique les bases des requètes Sql pour C#.



Autodidacte de 48 ans


Cette discussion est classée dans : text, string, add, comm, parameters


Répondre à ce message

Sujets en rapport avec ce message

probleme insertion avec clé primaire autoincrementé [ par atino ] Bonjour,j'ai un formulaire pour demander un devis ,dans une table devis ,j'ai plusieurs colonnes (numdevis, nom, adresse, ville, telephone, mail, comm Exception [ par sawass ] Lorsque j'exécute ce code j'ai l'exeption suivante: "System.NullReferenceException: Object reference not set to an instance of an object" Voici le cod Exception database [ par sawass ] Bonjour, je suis planter dans le mème problème..j'ai une erreur quand je veux modifier un utilisateur dans la base de donnés.Une erreur dans cette lig ajouter un enregistrement dans une base de données Mysql [ par kabi14 ] salut, Je réalise une application (site web) sous visual studio 2010 avec une db mysql. J'ai donc installé le connector 5.2 de mysql Mais lors de in Problème avec les apostrophes [ par tifon974 ] Bonjour <p class="MsoNormal" style="M Pbrobleme tableau dynamique [ par filip24 ] Bonjour,J'ai un petit soucis.Je crée un tableau dynamiquement avec 2 lignes et 10 colonnes.La 1ere ligne : il y a les entetes et la seconde il y a les Problème Table Web Control [ par The Red Man ] Bonjour j'ai un problème très bizarre. En effet, j'aimerai ajouter plusieurs lignes à une table. Pour la table actuelle a manipuler est la table Autre les requêtes sont bien exécutées mais les données ne s'ajoutent pas à la base de données [ par saritanet ] bonjour, lorsque j'entre les informations et après j clique sur enregistrer, le label  m'affiche que l'enregistrement est passé avec succés alors que ExecuteNonQuery Connection non initialisé [ par wabema ] Merci de m'indiquer ce qui ne vas pas dans ce bout de code qui génére une erreur Private Sub BtnMaj_Click(ByVal sender As System.Object, ByVal e récupérer un textbox dynamique [ par plateau ] en fait j'ai un formulaire dans une page aspxje clique sur un bouton qui generer des textbox dynamiquecette partie j'arrive bien à la faire, mais quan


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales