转贴以共享:
Delphi是一个优秀的可视化软件开发环境,并已广泛应用
于数据库软件的开发。在DelphiC/S版环境中,结合其优化
的数据库操作,以及BorlandDatabaseEngine(即:BDE,数据
库引擎),对开发客户机/服务器系统下的网络数据库软件提
供了更加快速有效的途径。在客户机/服务器系统中,服务器
端我们采用MicrosoftSQLServer6.0forWindowsNT作为数据
库服务器;另外,在客户端采用Delphi编写客户软件。在此,
我们假定SQLServer设置完毕,并已经启动,仅介绍客户端的
程序编写步骤。从以下文章中,读者可以发现不需要写一句程
序,就能实现对SQLServer数据库的操作了。具体步骤如下:
第一步,注册ODBC数据源。这是至关重要的一步,否则
就无法实现对数据库的访问。例如,我们定义一个可访问SQL
—Server服务器上zhb数据库的数据源ZHB。首先,选择
SQLServer类型的数据库,进入“ODBCSQLServerSetup”窗口。
然后,定义数据源名称为“ZHB”;定义Server为“SQL—Server”;
以及网络路径为“ιιSQL—Server”;最后,按option命令
按钮选择访问的数据库为zhb即可。
第二步,配置BDE。它是Delphi专用的数据库引擎。既可
以从Delphi程序组里启动,也可以从Delphi程序项的Tools
菜单下启动。Delphi在访问SQLServer数据库时略不同于VB。
VB是直接调用ODBC来连接SQLServer的,而Delphi是首先调
用BDE中的别名,别名再通过BDE中的ODBCDriver直接访问ODBC
数据源实现的。而在BDE的ODBCDriver中你还可以定义其他
ODBC属性,例如语言驱动程序或打开模式等等。这无疑大大增
强了ODBC的功能。
首先,在Drivers标记页中,按“NewODBCDriver”添加
新的驱动程序。在添加窗口中有三栏需要填写。第一栏
SQLLinkDriver可任取一名,如:ODBC—ZHB;第二栏
DefaultODBCDriver中选择SQLServer;在第三栏
defaultDataSourceName中选择刚才注册的数据源ZHB。按OK
确认后就增加了一个名为ODBC—ZHB的DelphiODBC驱动程序。
在其右侧的参数表中,还可以设置打开模式OPENMODE、查询模
式SQLQRYMODE、SQL语句执行模式SQL?PASSTHRUMODE以及
语言驱动程序LANGDRIVER等。接下来,在Aliases标记页中,
按“NewAlias”命令按钮增加一个新的别名。在增加新别名窗
口中有两栏需要填写。第一栏为Newaliasname,可任取一个名
字,如:zhbdb;这个别名就是我们要在Table控件中直接调
用的数据库名字。第二栏Aliastype选择刚才在Drivers标记
页中定义的ODBC—ZHB,最后按OK确认,就增加了一个名为
zhbdb的别名。这样,Table控件可以通过别名zhbdb,别名zhbdb
通过Delphi的ODBCDrivers(即:ODBC—ZHB),ODBC—ZHB再
通过Delphi的ODBCDrivers(即:ODBC—ZHB),ODBC—ZHB再
通过ODBC数据源ZHB就可连接到SQL—Server服务器上的zhb
数据库了。以上相当于完成了在BDE中的注册,接下来就可以
进行控件的属性设置了。
第三步,设置DataAccess控件属性以实现与数据库的连
接。将Table和DataSource控件加到窗体中并修改Table控
件的属性。首先,将DatabaseName属性改为刚才在BDE别名
中定义的zhbdb。设置完databaseName属性后,就可以从
TableName属性的下拉列表中选择一个表的名字。这其间Table
控件要完成与数据库的连接,连接成功后,该列表中才会出现
可选的表名。然后,将Active属性改为true,将打开的数据
库激活,和DataSource控件建立联系。将Exclusive属性改
为true。最后,将DataSource控件的DataSet属性设为Table1。
DataSource控件为Table控件与DataControls控件相联系的
渠道。通过以上步骤的设置,DataSource1对象就与zhb数据
库的某个表建立了联系。以后,只要对DataSource1对象访问,
就可以实现对该表的操作了。
第四步,设置DataControls控件属性以实现对数据库的
操作。一旦DataAccess类的控件被成功打开,处于窗口中的
DataControls标记页的控件就可以使用了。这些丶??
DBGrid、DBNavigator、DBText、DBEdit、DBMemo、DBImage、
DBListBox、DBComboBox、DBCheckBox以及DBRadioGroup。这
些控件只要设定他们的DataSource和DataFields属性就可以
实现对表的读写操作。