delphi7操作数据库之Access文档格式.docx
- 文档编号:19624418
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:17
- 大小:648.25KB
delphi7操作数据库之Access文档格式.docx
《delphi7操作数据库之Access文档格式.docx》由会员分享,可在线阅读,更多相关《delphi7操作数据库之Access文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
本实例中用到的ADOConnection对象属性和方法分别如下:
2.ConnectionString属性:
指定连接数据源的基本信息,本实例使用ADO访问保存登录信息的Access数据库,使用的连接字符串为:
“Provider=Microsoft.Jet.OLEDB.3.51;
DataSource=E:
\精彩范例\\01\db\db01.mdb”。
-9-
第1篇简单应用篇
²
Open方法:
打开数据源连接。
Close方法:
关闭数据源连接。
3.ADORecordset对象
ADORecordset对象用于保存从数据源获得记录集,本实例中用到的属性、集合和方法分别如下:
ActiveConnection属性:
代表数据源的活动连接,通常将其设置为已建立的
Connection对象。
EOF属性:
测试当前记录位置是否位于记录集的最后一个记录之后。
如果当前记
录位于记录集的最后一个记录之后EOF属性将返回True,否则返回False。
Fields集合:
包含Recordset对象的所有Field对象,即可使用Fields来获得当前记录各个字段的值。
例如,objRs.Fields("
口令"
).Value获得当前记录的“口令”字段的值。
Open方法:
用于打开记录集,其参数为执行查询的SQL命令字符串,如:
objRs.Open("
SELECT口令FROM系统用户WHERE用户名='
admin'
"
)
本实例的实现包括创建数据库、设计表单、建立ADO引用和编写功能代码三个步骤。
1.创建数据库
本实例中用于实现登录验证的数据保存在Access数据库中,该数据库用MicrosoftOffice办公软件的MicrosoftAccess工具创建,其具体操作步骤如下:
(1)启动MicrosoftAccess,打开可视化数据管理器,如图1-2所示。
图1-2
点文件/新建/在右侧出现的新建文件任务下选择“空数据库”,弹出保存位置对话框,这时我们选择存到我们程序的目录下就行了,如:
桌面/delphi数库库实例/db01.mdb,然后出现如下图1-3
(2)创建表
图1-3
选中左边的“表”,再点上面的“设计”,就弹出了表设置的视图,我们建立如图1-4的表:
图1-4
创建“用户表”结构,添加了字段后的“表结构”对话框如图1-4所示。
在“表结构”对话框的“字段列表”显示了该表的字段,并允许修改字段的名称、顺序位置、验证文本、验证规则、缺省值、是否零长度、是否为必要字段等。
表1-1“系统用户”表结构
字段定义如下:
字段名
类型
长度
ID
自动编号
20
USERNAME
文本
20
USERPASS
整型
TIMES
LASTTIME
日期/时间
单击按钮,打开保存数据库表对话框,在对话框中输入数据库表的名称T_USER,然后单击按钮对设计的T_USER数据库表进行保存,如图1-5所示。
图1-5
(3)添加数据记录。
在设计完成T_SUER数据库表后,如图1-7所示的对话框中,选中T_USER数据表,单击
按钮打开T_USER表,在表中添加数据记录,如图1-6所示。
图1-6
完成上述操作后,我们创建了一个名为“db01”的Access数据库,数据库中包含一个名为“T_USER”的数据表,数据表中包含了两条记录,记录1的“USERNAME”字段值为admin,“USERPASS”字段值为adminpass
记录2的“USERNAME”字段值为abc,“USERPASS”字段值为123。
2.设计窗体
Delphi为可视化的程序设计语言,其应用程序界面就是窗体,而窗体设计主要通过鼠标拖放操作完成。
本实例中的系统登录对话框窗体实现,窗体中需用标签控件显示各输入框提示,用文本框输入用户名和口令,用命令按钮提交验证或退出登录,其具体设计步骤
如下:
(1)启动Delphi
选择Windows“开始”菜单中的“程序”/“BorlandDelphi7/Delphi7.0”命令,启动Delphi7.0,如图
程序启动后,自动为我们创建好了窗体文件,我们对这个窗体的大小做一定调整,然后添加两个如下控件。
确保打开了对象窗口,即运行程序时的主窗口。
设置窗体的相关属性,在属性窗口中设置Caption属性为“系统登录”,Name属性为“Login_form”,同时也可设置其他的属性。
创建的登录窗体如图1-8所示。
窗体属性和控件属性设置如表所示,窗体文件保存为login.pas。
工程文件保存名为默认Project1.dpr。
图1-8
控件名
属性
属性值
Form1
Caption
系统登录
Position
poScreenCenter
Label1
用户名
Label2
密码
Edit1
Text
空
Edit2
PasswordChar
*
Button1
确定
Button2
取消
ADOQuery1
3.建立ADO引用
要在Delohi7工程中使用ADO对象来访问数据库,必须在窗体中建立ADO对象,其
操作步骤如下:
(1)添加数据连接源
选择工具栏的“ADO”选项,单击按钮,再在窗体上放置按下鼠标左键放置一个ADOQuery连接对象。
(2)对ADOQuery对象进行数据库连接。
选中ADOQuery对象,然后单击属性的ConnectionString属性按钮打开如图1-9所示的对话框。
图1-9
(3)选择数据连接方式
在如图1-9所示的对话框中选择“UseConnectionString”,然后单击“创建”按钮打开如图1-10所示的对话框。
图1-10
(4)选择数据库类型
在如图1-10所示的对话框中选择“MicrosoftJet4.0OLEDBProvider”选项,然后单击“下一步”按钮打开如图1-11所示的对话框。
1-11
注:
这一步点击“…”按扭,选择我们前面建立好的数据库文件db01.mdb。
然后请删除db01.mdb前的路径,这样就是用相对路径,通用性更强。
然后点“测试连接”,提示测试成功。
1-12
4.编写功能代码
具体的登录验证包括以下功能:
◇取消登录功能
用户单击“取消”按钮时,显示如图1-13所示的对话框询问用户是否真的退出登录,若用户单击对话框中的按钮,则结束应用程序,退出登录;
若单击按钮则继续执行登录操作。
1-13
◇执行登录验证
用户单击“确定”按钮时,根据用户输入的用户名和口令执行登录验证。
首先检验本次验证是否超过允许的最多验证次数,若超过则直接退出登录,否则进一步验证用户名和口令的正确性。
根据用户名和口令是否正确、是否正常完成验证过程给出相应的提示信息。
编写功能代码的具体操作步骤如下:
(1)系统初始化
在窗体创建时需要对全局变量进行初始化,初始登录的最多次数以及登录的次数。
具
体代码如下:
在窗体上双击,弹出窗体的Create事件,代码如下
procedureTLogin_Form1.FormCreate(Sender:
TObject);
begin
maxtimes:
=3;
//设置充许输入错误的最大次数
logintimes:
=0;
//统计用户使用过系统的次数
end;
注意,在这段代码上面,就是{$R*.dfm}之前,要先定议这两个变量:
maxtimes,logintimes:
integer;
做好的代码如下图:
(2)实现退出窗体功能。
①双击“取消”按钮,在代码窗口中添加按钮的单击事件过程
代码。
ProcedureTLogin_Form1.Button2Click(Sender:
close;
②为了完成退出时弹出对话框,还必须对该窗口的OnClose事件进行代码编程。
具体代码如下:
procedureTLogin_Form1.FormClose(Sender:
TObject;
varAction:
TCloseAction);
ifMessageDlg('
你选择了系统退出,退出将不能启动管理系统,是否真的退出?
'
mtConfirmation,[mbYes,mbNo],0)=mrYesTHEN//系统对话框
ACTION:
=caFree//如果单击是按钮,则退出系统登录
ELSE
=caNone;
//如果单击否按钮,则继续系统登录
③实现登录功能
procedureTLogin_Form1.Button1Click(Sender:
var
lasttime,aname,apass,sqlstr:
string;
//定义四个字符串变量aname和apass分别用来存放用户输入的用户名和密码,sqltr用来存放查询语句
inc(logintimes);
iflogintimes>
maxtimesthen//如果登陆次数logintimes大于允许的最大次数maxtimes时
begin
showmessage('
你已经超过充许验证次数!
,将退出登录系统!
);
application.Terminate;
//终止应用程序执行
end
else
if(length(trim(edit1.Text))>
0)or(length(trim(edit2.Text))>
0)then
aname:
=trim(edit1.Text);
//取得用户输入的用户名
apass:
=trim(edit2.Text);
//取得用户输入的密码
sqlstr:
='
select*fromt_userwhere(username='
+aname+'
)and(userpass='
+apass+'
)'
;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.Open;
//执行SQL语句查询
ifADOQuery1.RecordCount>
0then//如果得到的记录大于0条,说明找到满足条件的记录,说明用户名密码成功
begin//验证通过后,更新用户的登陆时间和登陆次数
lasttime:
=DateTimeToSTR(date);
updatet_usersettimes=times+1,lasttime='
+lasttime+'
where(username='
ADOQuery1.ExecSQL;
//执行SQL语句更新
登陆成功!
请确认登录的用户名和密码是否正确!
edit1.SetFocus;
//取得输入焦点
edit1.SelectAll;
//选择文本框中的所有内容
5.保存工程、测试运行
具体操作步骤如下:
(1)保存窗体文件
文件/保存,打开“文件另存为”对话框,如图1-18所示,该对话框用于保存窗体。
在“保存在”下拉列表框中选择窗体保存位置,在“文件名”文本框中输入窗体文件名,最后单击按钮保存窗体。
(2)保持工程文件
窗体保存之后,将打开“工程另存为”对话框,如图所示。
在“保存在”下拉列表框中选择窗体保存位置,在“文件名”文本框中输入工程文件名,最后单击按钮。
保存工程。
(3)测试应用程序
保存工程后,单击工具栏中的
按钮,或按F9键运行工程,测试工程是否正确运行。
在编写代码的过程中也需要通过运行工程来测试当前代码是否正确。
注意:
本例中数据库文件必须保存在工程目录下。
如图:
本例的主要任务是创建一个基于数据库的系统登录对话框,其实现过程包括创建保存登录信息的Access数据库、设计窗体、编程功能代码和保存工程及测试运行等步骤。
在实现本例时,用了ADO对象来访问Access数据库,首先用Connection对象建立数据库连接,然后用RecordSet对象从数据库获得用户口令,从而验证用户登录信息是否正确。
这里需要特别提醒,若你用MicrosoftAccess2000或MicrosoftAccess2003创建登录信息数据库,则Connection对象连接字符串中的驱动程序(Provider)应用Microsoft.Jet.OLEDB.4.0,否则将无法识别数据库格式。
本教程原创:
李荣辉QQ:
185225745欢迎大家加入我的QQ群一起学习delphi.群号:
29200817
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- delphi7 操作 数据库 Access