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环境):


步骤三:输入以下代码访问数据库(大家都懂得,不多说):
private string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Data\;Extended Properties=Paradox 5.x"; private OleDbConnection conn; public Form1()
{
InitializeComponent();
conn = new OleDbConnection(connectionString);
} private void button1_Click(object sender, EventArgs e)
{
try
{
this.dgvData.DataSource = FillTable("SELECT * FROM tbl_A WHERE No = '000012345'");
}
catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error!"); } } private DataTable FillTable(string sql)
{
DataTable table = new DataTable(); using (OleDbDataAdapter da = new OleDbDataAdapter(sql, conn))
{
da.Fill(table);
} return table;
}
结束。
C# 连接Paradox DB的更多相关文章
- EntityFrameWork连接多Db配置
如题所示,EF作为微软主推的ORM工具,最新版本已经是7,说明有很多人在使用它做项目.在使用过程中,可能会连接不同的数据库,本文介绍的是连接SqlServer,MySql和SQLite三种,并且可以互 ...
- PHP+MySQL:测试连接+基本DB操作
PHP使用MySQL,从连接.创建.到结果显示 <?php //连接MySQL测试 $db = mysql_connect("localhost","root&qu ...
- 在silverlight中通过WCF连接ORACLE DB数据库(转)
转自 http://hi.baidu.com/qianlihanse/item/458aa7c8d93d4e0cac092ff4 这不是我的原创,我也是上网学习的~ How to get data f ...
- 使用PL/SQL Developer连接远程DB(本机不安装Oracle客户端)
本文内容亲测可行环境: 服务端:centos6.7 ,oracle 11g r2 ,动态注册,监听端口号:1521 用户端:win7 ,没有安装ORACLE及其客户端 准备文件:plsql ...
- mongo DB for C#
(1)Download the MongoDB C#驱动. http://www.nuget.org/packages/mongocsharpdriver/. (2) Add Reference to ...
- mongodb系列3 mongo mongoskin 连接以及连接数的问题进阶
1)使用mongodb连接mongo var mongo = require('mongodb'), //引入mongodb dbHost = '127.0.0.1', dbPort = 27017; ...
- Discuz DB层跨库映射关系表名前缀BUG修复后产生的新bug
新的逻辑引入了新的bug,会导致在跨多库连接时,产生表名前缀映射混乱,需要再做逻辑上的修复. function table_name($tablename) { if(!empty($this-> ...
- 在express中使用Mongoose连接MongoDB
为何要学Mongoose? Mongoose是MongoDB的一个对象模型工具,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单. 0.安装 ...
- 阿里云部署Docker(7)----将容器连接起来
路遥知马力.日久见人心.恩. 该坚持的还是要坚持. 今天看到一个迅雷的师弟去了阿里,祝福他,哎,尽管老是被人家捧着叫大牛.我说不定通过不了人家的面试呢.哎,心有惭愧. 本文为本人原创,转载请表明来源: ...
随机推荐
- 2018.08.27 [Usaco2017 Jan]Promotion Counting(线段树合并)
描述 The cows have once again tried to form a startup company, failing to remember from past experienc ...
- 2018.08.12 bzoj5301: [Cqoi2018]异或序列(前缀和+莫队)
传送门 简单的异或前缀和处理+莫队统计答案. 惊奇的发现无论开不开long long都能跑过... 代码: #include<bits/stdc++.h> #define N 100005 ...
- 32. My Experiences in the Factories 我在工厂的经历
32. My Experiences in the Factories 我在工厂的经历 ① I've worked in the factories surrounding my hometown e ...
- Linux 部署 tomcat 常用命令
1. 文件夹重命名 mv somedir somedir1 2. 授权所有子目录 chmod -R 777 somedir 3.授权单个目录 chmod 777 somedir 4.实时打印控制台日 ...
- linux下怎样用c语言调用shell命令
C程序调用shell脚本共同拥有三种法子 :system().popen().exec系列数call_exec1.c , system() 不用你自己去产生进程.它已经封装了,直接增加自己的命令 ex ...
- hdu 5032 不易发觉的树状数组
http://acm.hdu.edu.cn/showproblem.php?pid=5032 给定一个1000x1000的点阵,m组询问,每次询问一个由(0,0).(x,0)点一以及从原点出发的方向向 ...
- JAVA 从头开始<六>
一.静态代码块 静态代码块不需要创建对象才执行,比对象数据优先存在于内存中 二.静态函数 三.单例设计模式 1.饿汉单例模式 缺点:一声明就创建一个对象,没有使用的话就浪费了. 2.懒汉单例模式 1. ...
- Day 4 list 列表的使用方法
https://www.cnblogs.com/fanison/p/7123532.html s="abcdefg"print("s[3]:",s[3])pr ...
- 三个分段的.tar.gz文件,合并并解压
1.合并使用spilt分割的文件 # cat sxrt5.0.dvd1.tar.gzaa sxrt5.0.dvd1.tar.gzab sxrt5.0.dvd1.tar.gzac >>sxr ...
- Java基础学习篇---------封装
一.类和对象分配内存 二.Java中的内部类 : 可以直接去访问外部类的所有属性(包括私有成员) 1.Java中成员内部类 (1).内部类的方法可以直接访问外部类的类中的所有成员变量 (2).外部类 ...