Bonjour,

Je suis en train de me battre avec visual pour essayer de lire un fichier .dbf, j'arrive à avoir certains résultats, mais pas d'autre, j'ai les erreurs suivantes:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
System.InvalidOperationException: Tentative non valide de lecture de l'ordinal de colonne '1'. Avec CommandBehavior.SequentialAccess, vous ne pouvez lire qu'à partir de l'ordinal de colonne '5' ou supérieur.
   à System.Data.OleDb.OleDbDataReader.DoValueCheck(Int32Une exception de première chance de type 'System.IndexOutOfRangeException' s'est produite dans System.Data.dll
ou ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
System.IndexOutOfRangeException: FILESCANND
   à System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName)
   à System.Data.OleDb.OleDbDataReader.GetOrdinal(String name)
   à System.Data.OleDb.OleDbDataReader.get_Item(String name)

et voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim ConnectionString As String
 
                    ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                    "Data Source=" + repertoire + ";Extended Properties=dBase IV"
                    Dim dBaseConnection As New System.Data.OleDb.OleDbConnection(ConnectionString)
                    dBaseConnection.Open()
 
                    Dim dBaseCommand As New System.Data.OleDb.OleDbCommand("SELECT * FROM monFichierDbf", dBaseConnection)
                    Dim dBaseDataReader As System.Data.OleDb.OleDbDataReader = dBaseCommand.ExecuteReader(CommandBehavior.SequentialAccess)
 
 
 
                        While dBaseDataReader.Read
                            Console.WriteLine("===================================")
                            Console.WriteLine(dBaseDataReader("TIMEDONE").ToString)
                            Console.WriteLine(dBaseDataReader("DESCRIPT").ToString)
                            Console.WriteLine(dBaseDataReader("INFOTYPE").ToString)
                            Console.WriteLine("===================================")
                        End While
 
 
                    dBaseConnection.Close()