begin process at 2010 02 10 10:14:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Base de données

 > 

[C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)


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

[C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

mercredi 12 avril 2006 à 00:02:18 | [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

Julien_Gates

Bonsoir je ne comprend pas mon erreur venant d'une requete d'insertion dans une base de donnée en C# : voici mon code : System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(); conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source= c:\hot.mdb"; try { conn.Open(); } catch { MessageBox.Show("Notre connection n'est pas établit"); } finally { int res; System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("INSERT INTO dej(numdej,date,numclient,Numchambre,nombch,nombfr,nomp) VALUES('"+Convert.ToString(nb+1)+"','"+cb2.Text+"','"+cb1.Text+"','"+cb3.Text+"','"+cb4.Text+"','"+cb5.Text+"','"+cb6.Text+"');", conn); res=command.ExecuteNonQuery (); } l'erreur est la suivante : Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll j'ai essayer de mettre de & a la place des + mais visual studio.net n'en a pas voulu je ne comprend d'ou vien cette erreur la requette me semble bonne j'ai reesayé plusieur foi sans résultat je bloque En attendant votre réponse bonne soirée en vous remerciant d'avance
mercredi 12 avril 2006 à 00:58:01 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

hlayachi

Membre Club
Bonsoir
d'abord j'aimerai te dire que la façon avec laquelle est écrit ton code est trop brouillée
ensuite y a un tout petit pb dans la requête, voilà ce que tu dois faire:

            finally
            {
                int res;
string req = " insert into dej (numdej,date)" + " values (' " +Convert.ToString(nb+1)+ " ' , '"+cb2.Text+"')" ;
                System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(req, conn);
                res=command.ExecuteNonQuery ();
              

            }

Ici j'ai pris seulement deux colonnes, tu fais la même chose pour le reste

mercredi 12 avril 2006 à 07:16:34 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

Lutinore

Administrateur CodeS-SourceS
Salut, déja tu ne dois pas executer ta requête dans la close finally mais dans la close try. Petit rappel : la close finally est appelée après un bloc try mais aussi après un bloc catch.



try
{
    // Ouvre la connexion..
    // Requête..
}
catch ( Exception ex )
{
    MessageBox.Show( ex.ToString( ) );
}
finally
{
    // Ferme la connexion.
    // Ou une close using dans le try.
}
mercredi 12 avril 2006 à 12:23:22 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

Julien_Gates

Merci pour vos réponse mais j'ai malheureusement toujours le même problème je ne sais pas d'ou cela peut venir car j'ai utiliser exactement le même protocole dans une autre base de donnée et je n'est eu aucun problème

Tout mes champs dans ma base de donnée sont en texte.

 Au début j'avais mit le premier champs en numéro auto et j'avais mit un blanc dans mon INSERT INTO mais j'ai toujours la même erreur donc je ne comprend pas .


private void button1_Click(object sender, System.EventArgs e)
        {
           
           
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();

            conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source= c:\hot.mdb";

            try
            {
                conn.Open();
                int r;
                string req = " insert into dej (numdej,date)" + " values (' "+cb1.Text+"'+'"+cb2.Text+"')" ;
                System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(req, conn);
                r=command.ExecuteNonQuery ();
                //opération d'ajout terminer
               
               
            }
            catch
            {
                MessageBox.Show("Notre connection n'est pas établit");
            }
            finally
            {
                conn.Close();
            }
           
        }

Merci encore




mercredi 12 avril 2006 à 17:05:14 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

hlayachi

Membre Club
Merci Lutinore d'avoir corriger mon oubli
 Julien_Gates c'est vrai que la méthode ExecuteNonQuery () retourne un int, mais tu essayes de supprimer int r ; et d'appeler ExecuteNonQuery () comme si elle ne retourne rien.
mercredi 12 avril 2006 à 17:29:37 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

Julien_Gates

Merci mais même comme cela j'ai toujours la même erreur

bonne soirée
mercredi 12 avril 2006 à 17:59:42 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

hlayachi

Membre Club
en principe ça doit marcher
essaye de faire ceci: c'est la même chose mais des fois les erreurs logiques nous obligent de changer

tu ajoutes un using comme suit : using System.Data.Oledb;
ensuite fais cela dans un click

OleDbConnection conn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hot.mdb");

conn.Open();

// je prends un champ text
string
text1="aaa";


string
req = " insert into dej (nomp)" + " values ('"+text1+"')" ;

OleDbCommand cmd = new OleDbCommand(req,conn);

cmd.ExecuteNonQuery();

conn.Close();

mardi 18 avril 2006 à 23:51:52 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

Julien_Gates

Bonsoir,

merci pour vos réponses j'étais en déplacement je n'est pas pu répondre tout de suite je suis arrivé a faire marché ma requête d'insertion mais que une foi .
Seulement après il ma refait la même erreur alors que je n'avais pas changé le code .

Je ne comprend vraiment pas pourquoi il ne veut pas marché .

Voici mon nouveau code avec mes nouvel amélioration qui a marché une foi:

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();

            conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source= c:\hot.mdb";

            try
            {
                conn.Open();

                int r;
                

                string req="INSERT INTO dejeuner(datedej, ncli, nchamb, nombch, nombfr, nomp )VALUES('"+date.Text+"', '"+Ncli.Text+"', '"+nchmb.Text+"', '"+bch.Text+"', '"+bfr.Text+", '"+pat.Text+"');";
                System.Data.OleDb.OleDbCommand inser = new System.Data.OleDb.OleDbCommand(req,conn);
                r=inser.ExecuteNonQuery();
                //opération d'ajout terminer
            }
            catch
            {
                MessageBox.Show("erreur002");
            }
            finally
            {
                conn.Close();
                

            }

Je ne comprends pas pourquoi il me fait toujours la même erreur.

Je n'est pas encore essayé la solution du dessus  je testerai et vous tiendrai  au courant.

Merci bonne soirée
 


mercredi 19 avril 2006 à 00:06:09 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

Julien_Gates

Re

je vien de testé les conseils de hlayachi  visiblement l'insertion ne marche toujours pas .

j'ai testé la requete sous access elle semble correct. Je ne voit vraiment pas d'ou peut provenir l'erreur.

Peut etre faut il compté le nombre de ligne pour inserer au bon momment les nouvels informations ?

Merci bonne soirée.

mercredi 19 avril 2006 à 00:57:10 | Re : [C#] erreur dans un programme permettant d'inserer des données dans une base de donnée (Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll)

hlayachi

Membre Club

chez moi ça marche. ouvre un nouveau projet  et essaye de faire ce que j'ai suggéré.

à mon avi le problème existe dans les types des enregistrements, c'est pourquoi moi j en ai pris seulement deux, càd pour essayer et puis généraliser

c'est quoi ça:
<!--[if !vml]--> <!--[endif]-->.
<!--[if !vml]--><!--[endif]-->


1 2

Cette discussion est classée dans : text, erreur, system, data, oledb


Répondre à ce message

Sujets en rapport avec ce message

System.Data.OleDb.OleDbException: Erreur non spécifiée [ par ccda ] Bonjour,Je rencontre un problème de connexion à ma base de données Access lors de certaines requêtes. La programmation est en C#.L'erreur signalée est Gestion d'exception [ par erosplus ] Bonjour,lorsque je lance mon apllication crée avec Visual Studio C#.Net il y'a un avertissement qui dit:une exception non géré du type'System.Data.Ole modifier une table [ par fayrous ] Salut; voici le code private void button6_Click(object sender, EventArgs e) { if (richTextBox_exercice_m.Text != "" && richT base donnée acess [ par fayrous ] Salut; dans la requete update il y a une erreur de syntax. pouvez vous m'aider. System.Data.OleDb.OleDbConnection c = new System.Data.OleDb.OleDbConn Erreur programme [ par inoussyago ] cool forum , Bonjour, à tous. salut je veux tester une classe que j'ai creer pour cela j'ai ecri ça dans mon main AccesData obj; obj = AccesData.G Connection à access en C# [ par dimcel ] Bonjour, j'essye de me connecter en c# à ma base de données access mais j'ai une erreur avec la ligneOleDbDataReader myReader = myCommand.ExecuteReade Problème connexion base de données ACCESS [ par adomarle ] Bonjour,Je cherche à me connecter à ma base de données ACCESS, de cette manière : protected void Ses Access : insertion dans 2 tables avec un numéro auto [ par Gaxx ] Bonjour,Dèrrière ce titre se cache un problème fréquent apparemment non résolu dans le forum : Récupérer la valeur d'un champ en Numéro auto après une connection OleDb et Oracle [ par atmeitsatme ] Bonjour,J'utilise dans un web service un acces à ma base de données Oracle via les objets OleDB.Mon code :     [WebMethod]    public int test()    {   Pb requete SQL sur une base Oracle [ par atmeitsatme ] Bonjour,J'ais un web servcice, qui se connecte à une base données Oracle via OleDb.Voici une de mes web methodes : OleDbDataAdapter monAdapter = new O


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,811 sec (4)

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