<b>C++ Builder数据库综合开辟实践</b>[VC/C++编程]
本文“<b>C++ Builder数据库综合开辟实践</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一套本来在Access上开辟的桌面系统,网页调阅利用ASP编程,数据保护系统利用C++Builder编程.由于Access是一个桌面的同享型数据库,所以在通用性和网络开辟方面都存在一些问题.因此,需求将该系统移植到服务器型的数据库上.使系统既可以通过桌面软件保护数据,又可以有大量用户通过网页调看数据(后果).
系统初始软件为:Windows98第二版、Access97、C++Builder4.0、C++Builder5.0、MDAC(Microsoft Data Access Component 2.6中文版).
1、移植到Oracle的尝试
在机械上安装Oracle 7.3桌面版,由于利用不纯熟,所以挑选默许安装,除挑选语言Simplified Chinese外,其他都挑选默许,一路装下去,没有问题,重新启动系统.运行Net Easy Config,配置需求的数据库别名,然后用SQL Net衔接试验,用户名输入system,密码输入manager,衔接服务器注意,不要输入服务器的地址,而是输入方才成立的别名,进去了.Ok!
此时开始测试ODBC,成立ODBC数据源.此时,ODBC中有两个有关Oracle的驱动,一个是Microsoft ODBC for Oracle,另一个是Oracle 7.3,这是该公司自己开辟的驱动.但是怎么挑选驱动程序都不行,不是提醒Oracle的驱动没有安装,就是说某个DLL文件找不到.真是说不行,就不行,行也不行.
多次试验均无效....
查抄AUTOEXEC.BAT文件,此中有ORACLE的途径.那末,问题会在什么地方呢?本着猜疑一切的态度,在MSDOS方法下顺手输入了一个PATH号令,奇特,里面竟然没有ORACLE的途径!翻开AUTOEXEC.BAT文件一琢磨,途径是不是太长?把途径中的其他目录全都注释掉,重启系统,嘿!数据源可以成立了,并且两个驱动程序哪个都可以工作.本来因于系统中安装了C++Builder的两个版本,而该软件的目录又分外深,造成PATH环境变量的溢出,而在WINDOWS环境下启动时的提醒我们看不到,所以没有发现这个问题.目前知道了,重新调整一下AUTOEXEC.BAT文件,保存一个C++Builder的途径.今后得记着安装C++Builder时最好自己指定一个目录,这样可以缩短途径.这但是说行就行,不行也行.
经过对Oracle的测试,发现将Access数据库直接移植到Oracle数据库中时,对文本字段(TEXT,MEMO)的迁移总有问题,且该系统利用、安装过于复杂,对机械配置的要求也太高,而该系统需求安装的用户较多,且利用者水平良莠不齐,所以决意改用目前在安闲软件界对比风行的免费数据库系统MySQL.
2、移植到MySQL的阅历
1.该系统的安装对比简单,若认为自己没有本领安装该软件的话,还可以从网络上下载一个叫PHPTriad for windows的软件,该软件安装时没有任何选项,自动安装好MySQL.(实际上,该软件同时还安装好了APACHE服务器、PHP语言注释器,这恰好符合将来把ASP的网页换到PHP上去;别的,该软件还同时安装配置好了一个网页数据库保护工具PHPMyAdmin,PHPMyAdmin关于SQL语言不算熟的人来说管理数据库极端便利.)
2.再安装MYODBC(即ODBC for MySQL,我的是2.5版本),注意下载该软件时,要分清95版还是NT版的.安装也很简单,一路OK.好了,成立数据源work,填好IP地址,数据库名填mymember(这时系统供应的数据库),举行测试,不行?改用系统自动安装的sample-mysql数据源衔接,链上了.细心查抄配置,没有错误,为什么系统自己做的数据源可以用,我做的就不行呢?把自己成立的删掉,把sample-mysql改名为work,再衔接,嘿嘿,不行了!哈哈,本来就出在名字上,在work背面加上-mysql,再衔接,好了,本来myodbc要求它的数据源名称必须以mysql末尾!办理了数据源,下面开始移植本来的Access数据库.
移植工作对比简单,翻开Access数据库,选中第一张表,从File菜单中挑选“另存为/导出”,挑选“另存为一个外部文件或数据库”,选肯定,在弹出的对话框中的“保存范例”下拉选单中挑选“ODBC数据库”,又弹出一个“导出”的对话框,假如打算给该数据表改名的话,目前可以输入新的名字,然后挑选肯定,在弹出的“挑选数据源”对话框中点Machine Data Source(机械数据源),找到自己成立的work-MySQL数据源,按肯定.此时会回到Access数据库,假如数据表很大的话,状况栏中会有一个导出的进度,不然,导出已经完成.
导出成功后,通过PHPMYADMIN查抄导出的数据库,构造、内容都正常.需求注意的是,假如数据表顶用到了Access供应的ID(自动增量)字段的话,需求手工在目标数据库中改正对应字段的属性(这在PHPMyAdmin中很简单实现,找到该字段后点“改变”,在该字段的属性最后一项“额外”的下拉选单中挑选auto_increment,然后保存.PHPMyAdmin的界面是英文的?其实只要在安装有PHPMyAdmin的目录Apache\Htdocs\PHPMyAdmin中找到config.inc.php文件,搜索require,把引号中的“english.inc.php”改成“chinese_gb.inc.php”,再去调用网页中的PHPMyAdmin,嘻嘻,是不是变成中文了?其实chinese_gb.inc.php是一个文件名,就在该目录下,你还可以把界面变成BIG5码呢).
3.终于把移植的工作做完了,下面开始用C++BUILDER编程.对数据库利用ADO来拜候.步骤以下:在ADO控件标签中选ADOTable,在主窗口上先安排一个ADOTable1,然后点击左边对象察看器(Object Inspector)中ConnectionString右边的“…”图标,选“Use Connection String”,点“Build”,在“Provider”标签中挑选“Microsoft OLE DB Provider for ODBC Drivers”,点“Next>>”按钮,在“specify the source of data”中选“use data source name”,从下拉选单中挑选数据源work-MySQL,点“Test Connection”,显示衔接成功,肯定,OK,返回,在对象察看器中Table Name属性点下拉选单,挑选需求的数据表.再从Data Access控件标签中选DataSource,在主窗口上安排一个DataSource1,在对象察看器中DataSet属性点下拉选单,挑选ADOTable1,下面举行界面输出的筹划,挑选“Data Controls”控件标签中的DBEdit按照需求安排,并把DataSource属性设置为DataSource1 ,DataField属性设置为所需求的字段名.如此安排几个字段,最后从“Data Controls”控件标签中选“DBNavigator”放在窗口上.再把ADOTable1的Active属性改成true,咦,怎么有的字段显示成(MEMO),先不管他,运路程序,输入一些内容,点击提交,怎么没了?有的字段还缩短了,多试几次,发现新输入的内容不能超越本来的长度,那么本来是空的字段就永久没法输入内容了.这是怎么回事?这种用法必定没有问题,从前在Access数据库上就是这么用的.那么,就是MySQL的ODBC有问题,退出C++Builder,翻开数据源的选项细心解析,此中第一项vaaaa很象.把它选中,肯定,重新运行C++Builder,再运路程序,一切OK.本来MySQL这样的安闲软件,其ODBC选项很多,是为了适应各方面需求,不象微软或其他的数据库那样默许值便可以用.这个选项大概是为了优化一些网络上的利用,而把数据库字段的默许值老是假定为最小状况,从而造成这个问题.这大概也是安闲软件的一个小缺陷吧.
以上是“<b>C++ Builder数据库综合开辟实践</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |