Problème de connexion à une base mdb

delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004 - 3 mai 2004 à 15:07
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 4 mai 2004 à 10:30
Bon, d'avance désolée de vous emmerder avec mes problèmes de newbie, mais là j'avoue que je suis un peu perdue, je vois pas ce qui cloche (et pourtant, il doit y avoir quelque chose qui m'a échappé, sinon ça fonctionnerait :big) .)
Bref voici mon code où je suis sensée accéder à ma base, et l'afficher dans un datagrid. Le nom de ma table est especes_detail et ma base se trouve à la racine de mon lecteur d.

string connStr = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=d\basepatrimoinearbore.mdb";

string selStr ="SELECT * FROM especes_detail";

OleDbDataAdapter Adapt= new OleDbDataAdapter (selStr,connStr);
System.Data.DataSet dataSet1= new System.Data.DataSet();
Adapt.Fill(dataSet1);

dataGrid1.DataSource = dataSet1.Tables[0];


Le programme compile mais à l'exécution, j'obtiens une erreur et "l'explication" suivante :
Le chemin d'accès contient des caractères non conformes.
Me v'là bien embêtée...

des frites !

9 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 mai 2004 à 15:49
Est-ce que tu as bien doublé le " \ " dans le chemin menant jusque ta base ?
Pour verification, essaie de faire un MessageBox.Show(connStr) si tous les caracteres du chemin sont presents.

Si jamais, essaie en mettant un @ devant ta connectionString

@"provider=Microsoft.Jet ....

a++
Mx
0
taharban Messages postés 56 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 14 novembre 2007
3 mai 2004 à 16:06
Essaie :
... Data Source=d:\\basepatrimoinearbore.mdb";
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
3 mai 2004 à 16:08
et
"provider=Microsoft.Jet.OLEDB.4.0;Data Source=d\basepatrimoinearbore.mdb";

ca serait pas plutot :

"provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\basepatrimoinearbore.mdb";

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004
3 mai 2004 à 16:16
Merci pour toutes ces réponses, vous aviez tous raison...

j'avais omis les ':' parce que je pensais que l'erreur pourrait venir de là.
Et c'était bien le \ qui merdait car il n'était pas doublé <= erreur de débutante ! lol

Bref, maintenant ça fonctionne pour la connexion, et le prog s'arrête 2 lignes + loin mais je vais chercher ça toute seule comme une grande ! Même si vous me verrez appeler à l'aide demain :shy) (l'espoir fait vivre ! Un jour je saurai programmer sans aide !)

Merci pour tout !

des frites !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
3 mai 2004 à 16:23
a demain alors :big)

;)

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004
4 mai 2004 à 09:43
Comme promis me voici de retour !
Bien entendu je n'ai pas trouvé de solution à mon problème, après avoir (apparemment) réussi la connexion mon programme plante à la ligne "this.adapt.Fill(dataSet1);"
et me sort le message d'erreur "Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll".

Je remets mon code pour plus de clarté :
string connStr = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\basepatrimoinearbore\\baseaccess.mdb";

string selStr ="SELECT * FROM especesdetail";
this.adapt= new OleDbDataAdapter (selStr,connStr);
this.dataSet1= new System.Data.DataSet();
this.adapt.Fill(dataSet1); 
dataGrid1.DataSource = dataSet1.Tables[0];


J'ai sûrement oublié quelque chose de complètement basique qui fait que tout plante, ou alors il y a une grosse incohérece dans mon code (ce ne serait pas la 1ère fois après tout :-p )
Tout cela pour dire que si vous êtes inspirés par le sujet ou que vous connaissez un bon tutorial sur le sujet...

des frites !
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
4 mai 2004 à 10:02
hello,

j'ai fait un rapide test et le code ci dessous fonctionne chez moi... a voir :

string connStr = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\bd1.mdb";

string selStr ="SELECT * FROM test";
OleDbDataAdapter adapt= new OleDbDataAdapter (selStr,connStr);
System.Data.DataSet ds= new System.Data.DataSet();
adapt.Fill(ds); 
dataGrid1.DataSource = ds.Tables[0];


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
delegouine Messages postés 24 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 19 mai 2004
4 mai 2004 à 10:18
Hou, j'ai honte !

Le code que tu as écrit ne fonctionnait pas pour moi, j'ai donc chercher à en savoir un peu plus sur l'exception et la douloureuse vérité s'est révélée à moi : nom de base mal orthographié :blush) Mais maintenant j'ai un beau code qui marche !!!!! Merci pour ton aide !!
Désolée d'avoir fait chier le monde avec mes conneries !!!

des frites !
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
4 mai 2004 à 10:30
Ca arrive ... :-p

le forum est la pour ca :)

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous