Aide Svp, Problème de DBF :s

karnalta Messages postés 7 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 18 mai 2007 - 18 mai 2007 à 18:54
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 19 mai 2007 à 15:44
Bonjour,

Voilà j'ai un problème de lecture de DBF depuis mon application, en faite, mes requêtes sur les DBF marchent très bien SAUF quand je fais un WHERE sur le premier champ du DBF (la clef primaire je suppose). Dans ce cas précis je reçoit l'erreur "Index introuvable". Je cherche depuis plusieurs jours et je n'arrive pas à trouver le problème. Ci-dessous mon code de connection.

Dim dbfConnexion As New OleDbConnection()
dbfConnexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DBF\;Extended Properties=dBASE IV"
dbfConnexion.Open()

Dim oleCommande As New OleDbCommand("SELECT ....", dbfConnexion)
Dim oleReader As OleDbDataReader = oleCommande.ExecuteReader()
oleReader.Read()
...

dbfConnexion.Close()

Imaginons que [prmChamp] est le premier champ de la table alors :

SELECT [prmChamp] FROM DBF WHERE [unChamp]='blabla' => marche bien
SELECT [unChamp] FROM DBF WHERE [prmChamp]='blabla' => index introuvable

J'espère que quelqu'un pourra m'aider, merci d'avance.

<!-- / message -->

6 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 mai 2007 à 23:21
Salut,

Est-ce que ton champ existe bien dans la base?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
karnalta Messages postés 7 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 18 mai 2007
18 mai 2007 à 23:23
Oui oui, et si j'ouvre le DBF sous Access et que je test ma requête dans Access elle marche parfaitement.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 mai 2007 à 23:28
Salut,

Je pense à un truc tou bête....Si il y a pas d'index(et comprend la clé primaire), c'est que tu n'as pas d'enregistrement dans ta base alors ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
karnalta Messages postés 7 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 18 mai 2007
18 mai 2007 à 23:33
Si si ma base a des enregistrement puisque toutes mes requêtes marchent tant que je ne fait pas de WHERE sur le champ index.

La je regarde un peu avec DBF Manager, et l'index est fonctionnel le dbf est indexer sur le premier champ, je peut donc constater que c'est lorsque mon WHERE pointe sur le champ index du DBF que ca plante.
0

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

Posez votre question
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
19 mai 2007 à 15:31
Salut, en effet c'est bizarre.

Quelques reflexions :

1) quel est le type de données du champ prmChamp.

2) ='blabla', les cotes ne sont peu etre pas utilise.

3) As tu essayé de mettre * apres le select a la place du champ (la c'est au pif total)

4) Essayé toutes les combinaisons possibles avec les select et where et dis nous celles qui ne vont pas :

SELECT [prmChamp] FROM DBF WHERE [prmChamp]='blabla'
SELECT [prmChamp] FROM DBF WHERE [unChamp]='blabla'
SELECT [unChamp] FROM DBF WHERE [prmChamp]='blabla'
SELECT [unChamp] FROM DBF WHERE [unChamp]='blabla'
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 mai 2007 à 15:44
salut,
essaies du même coup


SELECT [prmChamp], [UnChamp]  FROM DBF WHERE [prmChamp]='blabla'

<hr />
© -Cannes, c' est juste une histoire d' escalier.
Mais moi ce qui m' inquiète, c' est plus la montée des eaux
que la montée des marches ! .         Rolling : l' agité du bocal.
<hr />
0
Rejoignez-nous