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