Bonjour, j'essaye de me connecter à une base de données de type dbase avec le code ci-contre :
Sachant que la table test.DBF vient juste d'être crée, à la main.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 using System; using System.Data; using System.Data.OleDb; using System.Xml.Serialization; namespace ConsoleApplication1 { class Class1 { [STAThread] static void Main(string[] args) { #if USINGPROJECTSYSTEM string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\..\\Societe.DBF;Extended Properties=dBASE IV;User ID=Admin;Password="; #else string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.DBF; Extended Properties=dBASE IV"; #endif string strAccessSelect = "SELECT * FROM Categories"; // Create the dataset and add the Categories table to it: DataSet myDataSet = new DataSet(); OleDbConnection myAccessConn = null; try { myAccessConn = new OleDbConnection(strAccessConn); } catch(Exception ex) { Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message); Console.Read(); return; } try { OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn); OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand); myAccessConn.Open(); myDataAdapter.Fill(myDataSet,"Categories"); } catch (Exception ex) { //il rentre toujours dans ce catch, à cause du open Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message); Console.Read(); return; } finally { myAccessConn.Close(); } } } }
Ca compile bien, mais à l'exécution, j'ai toujours le message d'erreur :
Or , si le chemin n'était pas valide, il aurait dû rentrer dans le premier catch, non ?"'test.DBF' n'est pas un chemin d'accès valide. Assurez-vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur sur lequel réside le fichier."
Bref, si quelqu'un pouvait tester le code au dessus, et me dire ce qui cloche, parce que moi, je ne vois pas,...
Merci !!!
Partager