龙空技术网

Lazarus 数据库编程

文峰不姓文 274

前言:

当前朋友们对“freepascal语言与基础算法 pdf”大致比较关注,各位老铁们都想要分析一些“freepascal语言与基础算法 pdf”的相关知识。那么小编在网摘上网罗了一些对于“freepascal语言与基础算法 pdf””的相关资讯,希望姐妹们能喜欢,咱们快快来学习一下吧!

Lazarus 使用 Free Pascal 的编译器,支持 Object Pascal 语言,是Delphi 的自由软件替代品。虽然小众,但开发速度快,支持多平台,无依赖,作为个人的开发工具还是不错的。因为兼容Delphi,所以资料可以看delphi的,网资源也不少。

创建最简单的数据库程序可分为:

创建数据模块在数据模块上添加一个Connection控件,一个Query控件,一个DataSource控件。Connection控件用于连接数据库,Query控件用于执行SQL命令获取数据,DataSource控件为数据感知控件提供数据。在窗口上添加一个或多个数据感知控件,比如DBGrid,DBEdit等。

现在我们边做边说。本示例使用firebird4数据库和zeosdb控件(下载安装自行百度),当然你也可以使用其它控件或数据库,操作方法大同小异。

打开lazarus,新建一个工程。

一、 添加一个数据模块

图1:数据模块窗口

在菜单选择:文件--新建--data模块,设置 Name属性为dm。在数据模块窗口中添加以下控件:

1、添加一个ZConnection控件,设置属性如下:

name:conEmployeeprotocol:firebirdlibraryLocation:E:\Firebird-4\fbclient.dll //这个根据自己电脑中firebird的安装位置选择database:employee.fdb //Firebird自带的示例数据库

protocol属性是设置我们连接的数据库协议名称,这里我们用的是firebird,你也可以用其它的数据库协议,比如Mysql、Sqlite等等,zeosdb控件支持大部分常用数据库协议。

在设计时,把connected属性设置为true,如果没有弹出错误提示,证明连接数据是成功的。一般在编译运行时把connected设置为false,在代码中打开数据库。

2、添加一个ZQuery控件

Name: qryCustomerConnection: conEmployeeRequestLive: TrueSQL: SELECT * FROM customer ORDER BY customer

我们双击qryCustomer控件,弹出字段编辑器,单击“+”号按钮,列出所有字段,点击Create按钮,创建所有字段。

3、添加一个TDataSource控件

Name:dsCustomerDataSet:qryCustomer

双击TZUpdateSQL组件将激活编辑器。作为关键字段,您必须选择字段CUST NO。字段地址行1,地址行2,城市,州,省,国家和邮政编码将被选为列表“更新字段”中的更新字段。现在可以通过点击“Generate SQL”按钮来生成语句(参见firgures2.2和2.3)如果你只有这样简单的查询,你可以通过使用UpdateSQL编辑器来节省大量的输入。如果它变得有点复杂,你应该“手工”创建所需的语句。

二、设置主窗口

图:主窗口

1、添加TDBGrid控件

Align:alLeftBorderSpacing.Around:10DataSource:dm.dsCustomer //通过下拉框选择即可

双击DBGrid控件,弹出Cloumns编辑器,添加一个列。设置列的Title.Caption:客户;设置FieldName:CUSTOMER

2、添加5个TLable控件,分别设置Caption为“地址1”、“地址2”、“市区”、“省”、“邮编”

3、添加5个TDBEdit控件,分别设置FieldName 为相应的字段。

4、添加一个TButton控件,设置Caption为“连接数据库”

三、编写一点代码

双击Button控件,自动转到代码编辑页,并自动添加了button的click事件处理过程,输入如下代码:

procedure TForm1.Button1Click(Sender: TObject);begin  if Button1.Caption ='连接数据库' then begin     dm.conEmployee.Connect;     dm.qryCustomer.Open;     Button1.Caption:='断开连接';  end  else begin      dm.conEmployee.Disconnect;      Button1.Caption :='连接数据库'  end;end;                             

在对象查看器中选中Form1对象,在下面的“事件”选项卡中找到“OnDestory”事件,在后面的输入框中双击,自动创建Destory事件处理过程,输入如下代码:

procedure TForm1.FormDestroy(Sender: TObject);begin  dm.conEmployee.Disconnect; //确保主窗口销毁(既程序退出)时数据库连接被断开end;                                                                             
四、编译运行

现在可以编译运行这个程序了。运行之前要把conEmployee控件的connected设置为false,如果为true,运行会出错,因为Firebird的嵌入模式是只允许单个连接。运行结果如下图:

试试双击编辑框或表格,数据还可以编辑,在切换了记录后修改的值自动保存。是不是很简单。我们也可以设置数据源的AutoEdit属性为false来禁止控件的编辑功能,或者设置Query控件的ReadOnly属性为true来达到一样的效果。

下一章来学习简单的主从表的数据展示。

标签: #freepascal语言与基础算法 pdf