Delphi是一个优秀的可视化软件开发环境
并已广泛应用于数据库软件的开发
在DelphiC/S版环境中
结合其优化的数据库操作
以及Borland Database Engine(即
BDE
数据库引擎)
对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径
在客户机/服务器系统中
服务器端我们采用Microsoft SQL Server
.
for WindowsNT作为数据库服务器
另外
在客户端采用Delphi编写客户软件
在此
我们假定SQLServer设置完毕
并已经启动
仅介绍客户端的程序编写步骤
从以下文章中
读者可以发现不需要写一句程序
就能实现对SQL Server数据库的操作了
具体步骤如下
第一步注册ODBC数据源这是至关重要的一步否则就无法实现对数据库的访问例如我们定义一个可访问SQL Server服务器上zhb数据库的数据源ZHB
首先选择SQL Server类型的数据库进入ODBC SQL Server Setup窗口
然后定义数据源名称为ZHB定义Server为SQLServer以及网络路径为ιιSQLServer
最后按option命令按钮选择访问的数据库为zhb即可
第二步配置BDE它是Delphi专用的数据库引擎既可以从Delphi程序组里启动也可以从Delphi程序项的Tools菜单下启动Delphi在访问SQL Server数据库时略不同于VBVB是直接调用ODBC来连接SQLServer的而Delphi是首先调用BDE中的别名别名再通过BDE中的ODBC Driver直接访问ODBC数据源实现的而在BDE的ODBC Driver中你还可以定义其他ODBC属性例如语言驱动程序或打开模式等等这无疑大大增强了ODBC的功能
首先在Drivers标记页中按New ODBC Driver添加新的驱动程序在添加窗口中有三栏需要填写第一栏SQL Link Driver可任取一名如ODBCZHB第二栏Default ODBC Driver中选择SQL Server在第三栏default Data Source Name中选择刚才注册的数据源ZHB按OK确认后就增加了一个名为ODBCZHB的DelphiODBC驱动程序在其右侧的参数表中还可以设置打开模式OPENMODE查询模式SQLQRYMODESQL语句执行模式SQLPASSTHRUMODE以及语言驱动程序LANGDRIVER等
接下来在Aliases标记页中按NewAlias命令按钮增加一个新的别名在增加新别名窗口中有两栏需要填写第一栏为Newaliasname可任取一个名字如zhbdb这个别名就是我们要在Table控件中直接调用的数据库名字第二栏Aliastype选择刚才在Drivers标记页中定义的ODBCZHB最后按OK确认就增加了一个名为zhbdb的别名这样Table控件可以通过别名zhbdb别名zhbdb通过Delphi的ODBCDrivers(即ODBCZHB)ODBCZHB再通过ODBC数据源ZHB就可连接到SQLServer服务器上的zhb数据库了以上相当于完成了在BDE中的注册接下来就可以进行控件的属性设置了
第三步设置Data Access控件属性以实现与数据库的连接将Table和DataSource控件加到窗体中并修改Table控件的属性
首先将DatabaseName属性改为刚才在BDE别名中定义的zhbdb设置完databaseName属性后就可以从TableName属性的下拉列表中选择一个表的名字这其间Table控件要完成与数据库的连接连接成功后该列表中才会出现可选的表名
然后将Active属性改为true将打开的数据库激活和DataSource控件建立联系将Exclusive属性改为true
最后将DataSource控件的DataSet属性设为TableDataSource控件为Table控件与DataControls控件相联系的渠道通过以上步骤的设置DataSource对象就与zhb数据库的某个表建立了联系以后只要对DataSource对象访问就可以实现对该表的操作了
第四步设置Data Controls控件属性以实现对数据库的操作一旦Data Access类的控件被成功打开处于窗口中的Data Controls标记页的控件就可以使用了这些控件有DBGridDBNavigatorDBTextDBEditDBMemoDBImageDBListBoxDBComboBoxDBCheckBox以及DBRadioGroup这些控件只要设定他们的DataSource和DataFields属性就可以实现对表的读写操作
可以看出Delphi在设计数据库软件方面尤其是SQLServer数据库方面要比VB来得快而且其丰富的控件为界面的设计提供了有利帮助另外Delphi的真编译使程序的执行效率相当高可移植性好这些都是VB所欠缺的