C# 连接Paradox DB
Paradox数据库是一个成名于15年前的数据库,那时候Borland公司还存在。最近客户提出需求,要在一套用了12年+的应用程序上作些功能更改。这套应用程序使用Delphi+Paradox数据库。 Delphi和Paradox一样太古老,现在会这玩意的人应该不多了吧。想想一种语言太依赖一家公司,结果往往就是这样(真替C#担忧)。最后客户同意使用C#开发一个外挂程序,但是数据库自然还是要用Paradox。 经过反复尝试,最终成就了下面的攻略。
环境:Win7 64 位 + VS2012
步骤一:安装BDE52,这版本支持安装在Win7 64 位。BDE驱动自身还是32位的。安装完后打开控制面板应能看到BDE Administrator( 如下).配置Paradox的NET DIR属性,默认是C盘的根目录,因为Win7下C盘的根目录写权限是受控的。所以建议更改至其他目录。
步骤二:打开VS2012,创建windows项目(略),一定注意以下配置(调成X86环境):
步骤三:输入以下代码访问数据库(大家都懂得,不多说):
1 private string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Data\;Extended Properties=Paradox 5.x"; 2 3 private OleDbConnection conn; 4 5 public Form1() 6 { 7 InitializeComponent(); 8 conn = new OleDbConnection(connectionString); 9 } 10 11 12 private void button1_Click(object sender, EventArgs e) 13 { 14 try 15 { 16 this.dgvData.DataSource = FillTable("SELECT * FROM tbl_A WHERE No = '000012345'"); 17 } 18 catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error!"); } 19 20 } 21 22 23 private DataTable FillTable(string sql) 24 { 25 DataTable table = new DataTable(); 26 27 using (OleDbDataAdapter da = new OleDbDataAdapter(sql, conn)) 28 { 29 da.Fill(table); 30 } 31 32 return table; 33 }
结束。