软件水平 > 中级资格 > 软件设计师 > 文章内容

计算机软件水平考试中级软件设计师综合资料(46)

2016-4-22编辑:ljnbset

基本编程原理和步骤
  基本原理如图所示
  1开发环境
  我们在开发Client/Server应用程序时需要两台机器(服务器,一个客户机),但Delphi可以做到单机开发。Delphi的可伸缩性很强,把应用程序由单层过渡到两层,只要简单地把连接的数据集由本机的数据库重新指向SQL服务器即可。像PowerBuild 一样,Delphi也有本地库,这就是InterBase Server,它提供了一个单用户多实例的SQL服务器平台,可以做测试平台。我们在将数据库应用程序转移到对Sybase等远程数据库的访问之前,可以在Local InterBase Server平台建立和测试数据库应用程序。这样可暂时不考虑网络连接,专心致力于解决业务逻辑。当业务逻辑实现后,只要把Database 控件中的Aliasname 改成新的数据源即可将程序扩大到网络环境。大大提高了开发软件的效率,并且降低了开发难度。

  2后台建立数据库并创建连接
  数据库建立包括安装系统,建库建表,对数据库写触发子和存储过程。
  安装时要注意的是要把SQL Server的客户数留到50 以上。否则服务器会在用户多了以后死锁。
  SQL Server是图形化的管理,库表的建立非常容易 。我们不提倡直接建立数据库、表格,输入数据。我们采取的方法是利用已有DBF数据库,在Delphi的Database Desktop把DBF转换成SQL Server中的表格。这样XBase开发的程序的资源就不会浪费了。对新表,用FoxBase建表格,输入数据后再转换。具体方法是:先用ODBC建立与SQL Server连接的数据源,用Database Desktop的菜单项TOOLS->UTILITIES->COPY的功能。其实这个工具可以进行异种数据库转换,在本身具有ODBC驱动程序或Delphi的SQL LINK支持的数据库之间任意进行转换。

  3.前台程序的基本编程
  Delphi与后台数据库的连接可有两种途径,一是ODBC,这是标准,兼容性很好。二是Delphi带的SQL Link,它由Delphi自己开发,速度稍快,但我们在应用中发现SQL Link对有些数据库系统的支持并不是很稳定,如连Informix时,退出时就很容易死机。所以常以ODBC连接数据库。在控制面板的ODBC中需要设置数据源名称,服务器名称(如果不设置登录的数据库名称,就将登录到后台数据库给你这个用户的默认数据库)。
  Delphi是快速开发工具(RAD)中最容易上手的。编程一般经过三个步骤:
  (1)注册ODBC数据源;


  (2)配置BDE;


  (3)往FROM 上放置Query/Table,DataSource, DBgrid控件,分别设置控件属性以实现与数据库的连接操作。具体说明如下:

  Delphi 涉及数据库编程的控件有两类:
  数据显示控件:用来显示数据库内的数据。DBGrid用于全屏显示和编辑数据库表中的记录。数据连接控件:负责掌管数据库的连接。
  Database控件是为开发两层数据库应用程序时,设置登录数据库的有关参数。
  Query 控件是用来传递SQL语句到服务器上得到一个数据集或执行一个动作。
  Datasource控件是连接数据显示控件和数据连接控件的桥梁。
  Query控件执行静态SQL语句的写法是:
  Query1.SQL.Clear;
  Query1.SQL.Add(‘SELECT * FROM databasename ’);
  Query1.SQL.Open,
  值得一提的是Delphi中还有种动态SQL,可以嵌入变量参数,给编程带来极大方便。
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT ks FROM ks WHERE py like :py');
  Query1.ParamByName(‘py').AsString:= Edit1.text+‘%'
  Query1.Open;
  Query控件的执行方法有两种:Open,ExecSQL。Open方式可以打开所联系的数据表格, 得到一个数据集。ExecSQL方式则只是运行SQL语句,并不将运行后的表格送往相连的数据显示控件,所以执行像Update dataname Set ....,Delete ...FROM .. 的动作,就要用ExecSQL。
  当应用程序第一次访问SQL数据库,会触发一个自动连接过程。连接过程需要确认访问数据库的权限。如果你要在程序中接受口令,则必须把Database控件的LoginPrompt 属性设为False。
  Database1.Params.Add(‘user name='+myusername ); // myusername变量名
  Database1.Params.Append(‘password='+mypassword);
  Database1.Connected:=true;
  关于日期的处理,要不存在2000年问题,只要在Form.OnCreate事件中加上ShortDateFormat:=‘mm/dd/dddd/yyyy';mm :有前导0的月份。dd:有前导0的日期,dddd: 表示这一天是星期几,yyyy:四位年份。此外,在Delphi 中的BDE Aministrator 中的Configuration->System->Formats 中有资料介绍,此方法的可行性尚未得到证实。

计算机软件水平考试中级软件设计师综合资料(45)

热点推荐

登录注册
触屏版电脑版网站地图