karnalta
Messages postés7Date d'inscriptionsamedi 6 mars 2004StatutMembreDernière intervention18 mai 2007
-
18 mai 2007 à 18:54
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 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.
karnalta
Messages postés7Date d'inscriptionsamedi 6 mars 2004StatutMembreDernière intervention18 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 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'