社区
C++ Builder
帖子详情
若想在BDE-Administrator中使用*.mdb,必须将*.mdb注册到文件DSN或者系统DSN中吗?
xiaoming851
2001-11-30 09:12:35
若想在BDE-Administrator中使用*.mdb,必须将*.mdb注册到文件DSN或者系统DSN中吗?
如果不需要,那要怎么配置?
我是说不用ADO或者别的方法
...全文
184
2
打赏
收藏
若想在BDE-Administrator中使用*.mdb,必须将*.mdb注册到文件DSN或者系统DSN中吗?
若想在BDE-Administrator中使用*.mdb,必须将*.mdb注册到文件DSN或者系统DSN中吗? 如果不需要,那要怎么配置? 我是说不用ADO或者别的方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yechun
2001-11-30
打赏
举报
回复
还是用ADO吧,BDE对*.mdb的支持不是很好。不推荐使用。如果你一定要使用看下面的::
Access数据库在管理中得到了广泛的应用,在长期的使用中已有很多数据资料存储在Access数据库的文件中,用C++ Builder编程时,往往也需要使用Access数据库,来实现数据的传递。
在C++ Builder中使用Access数据库既可以在设计期实现,也可以在运行期通过编程实现。下面就以一个简单的例子,来说明在C++ Builder中如何使用Access数据库。
在设计期使用Access数据库
首先新建一个工程,保存单元文件为Unit1.cpp,保存工程文件为Project1.bpr。假设保存工程文件的路径下已有一个Access数据库文件student.mdb,下面需要为该数据库创建一个别名。点击C++ Builder的tools选单项,在下拉选单中点击Database Desktop就进入了C++ Builder自带的数据库系统。然后在Database Desktop的tools项中选择Alias Manager来为Access数据库创建别名。创建别名的方法是:首先点击“New”按钮,然后在弹出对话框的Database alias栏内为数据库起一个别名,例如“mydatabase”,在Drive type栏选择MSACCESS;在DATABASE NAME栏内填入Access数据库文件的路径及文件名,其余项目可以根据需要填写,然后点击“OK”按钮,会弹出一个是否保存别名设置的对话框,选择“是”,这样数据库别名就创建完成了。
在表单Form1中放置一个TDatabase控件Database1,并设置以下属性:AliasName属性选择已创建的别名“mydatabase”,DatabaseName属性填写一个应用程序专用的别名,如“app_alias”(无需创建);Connected属性选择true,这时会弹出一个数据库登录对话框,如果未设用户名和口令,则直接点击“OK”,如果在创建别名时设有用户名和口令,正确填写后再点击“OK”就可以连接数据库了。
在表单Form1中增加一个TTable控件Table1并在DatabaseName属性中填写应用程序的专用别名,本例为“app_alias”,TableName属性中选择一个需要的数据表名,Active属性设为true。在表单Form1中增加一个TDataSource控件DataSource1,将其DataSet属性设为Table1。再增加一个TDBGrid控件DBGrid1和TDBNavigator控件DBNavigator1,将它们的DataSource属性都设为DataSource1,这样就可以看到Access数据库中的内容了,并通过控件DBNavigator1可以对数据库进行一些简单的操作。如果要对数据库进行更多的操作可以通过对Table1编程来实现,在此不再赘述。在设计期使用Access数据库简单、快捷,但灵活性差一些。
在运行期使用Access数据库
在运行期使用Access数据库,在表单Form1中除了以上控件外,还需增加一个BDE会话期对象,即TSession控件Session1。将AutoSessionName属性设为true,然后在Form1的OnCreate事件函数中加入以下代码:
AnsiString app_path,alias_1,name_1;
app_path=ExtractFilePath(ParamStr(0));
//取得应用程序的路径
alias_1="mydatabase2";
//Access数据库别名
name_1="DATABASE NAME="+app_path+"123.mdb";
if(!Session1->IsAlias(alias_1))
//数据库别名不存在
{
TStringList dataname=new TStringList();
dataname->Add(name_1);
Session1->AddAlias(alias_1,"MSACCESS",dataname);//创建别名
delete dataname;
Session1->Close();
}
Database1->AliasName=alias_1;
Database1->DatabaseName="app_alias";
Table1->DatabaseName=Database1->DatabaseName;
Table1->TableName="xxys";
Table1->Active=true;
注意:在运行以上程序之前,别忘了进入BDE Administrator将MSACCESS驱动配置中的DLL32由IDDAO32.DLL改为IDDA3532.DLL,并保存这个配置。
为了使程序运行得更流畅,可以在Database1的OnLogin事件函数中加入以下代码:
LoginParams->Values["PASSWORD"]="";
LoginParams->Values["USERNAME"]="";
这样在运行程序时就不会弹出数据库登录的对话框了。
以上程序在Windows95操作系统,C++ Builder 3下调试运行通过。
xiaoming851
2001-11-30
打赏
举报
回复
如果直接在BDE-Administrator中加入*.MDB数据库的话,当打开时,就会报告错误
驾校管理
系统
(Delphi源码-Access数据库)
新建ODBC数据源名(
系统
DSN
):jx 数据库:db\jx.
mdb
用户名:tjz929 密码:tjz929 <br>-------------------------------------- 1.安装
BDE
数据库引擎; 2.控件:FastReport.v3.09、AlphaControls_v4.51
张家界平安驾校管理
系统
新建ODBC数据源名(
系统
DSN
):jx 数据库:db\jx.
mdb
用户名:tjz929 密码:tjz929 -------------------------------------- 1.安装
BDE
数据库引擎; 2.控件:FastReport.v3.09、AlphaControls_v4.51
Delphi驾校综合管理
系统
.rar
Delphi驾校综合管理
系统
,其实是一个档案管理
系统
,不过功能相当多,包括教练车管理、行政管理、考试成绩管理、档案管理、资格证培训管理、财务管理等功能,界面写的也相当不错,可作为一个成品软件来
使用
了,代码...
mdb
转db_DB-2-
MDB
2
Recently I had to move an existing project from using PEAR::DB to PEAR::
MDB
2 - the new database abstraction layer. I took notes on the parts of the code I needed to change, I hope they can...
在DELPHI程序
中
使用
ADO对象存取ODBC数据源
http://www.yesky.com/245/70745.shtml或者http://www.builder.com.cn/2007/1102/600665.shtml http://www.yesky.com/248/70748.shtml或者http://www.builder.com.cn/2007/1102/600647.shtml 作为一个ASP爱好者
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章