VB精品课程 - 济南铁道职业技术学院 信息工程系? Limber Senovo

来源:百度文库 编辑:神马文学网 时间:2024/07/02 18:35:36


申报书 下载
课程实训
 准备知识
 课程实训项目一
 实训方法及代码
 课程实训项目二
 实训方法及代码
课程建设成果

合作单位



VB程序设计  >> 课程实训  >> 准备知识
准备知识—VB数据库应用基础
一、VB如何访问数据库
目前,Visual Basic访问数据库的主流技术是ADO。ADO是一种基于对象的数据访问接口,在VB中提供了利用ADO访问数据库的两种主要形式:ADO数据控件(ADODC)和ADO对象编程模型(ADO代码)。这两种方式可以单独使用,也可以同时使用。
使用ADO数据控件的优点是代码少,一个简单的数据库应用程序甚至可以不用编写任何代码。它的缺点是功能简单,不够灵活,不能满足编制较复杂的数据库应用程序的需要。
使用ADO对象编程模型的优点是具有高度的灵活性,可以编制复杂的数据库应用程序。它的缺点是代码编写量较大,对初学者来说有一定困难。
二、对记录集对象的初步理解
无论是使用ADO数据控件,还是使用ADO对象编程模型,都会涉及到记录集对象。因此,在讨论访问数据库的两种方式之前,有必要初步了解一下记录集对象。
请看下面来自学生数据库的几个集合:
取学籍表(含学号、姓名、性别等字段)中所有学生的记录构成一个集合;
取学籍表中所有男生的记录构成一个集合;
取学籍表中张三的学号和姓名,根据其学号取成绩表(含学号、课程和分数三个字段)中张三的各科成绩构成一个集合。
以上几个集合都是“记录的集合”,由此得出以下概念:
将数据库中一个或多个表中的部分或全部数据构成一个“记录的集合”,这个集合就称为“记录集”(Recordset)。若将记录集看作一个对象,这个对象就是记录集对象。
记录集由行(记录)和列(字段)构成。
记录集对象是ADO中的一个功能强大的对象,对数据库的绝大部分操作,如记录指针的移动,记录的查找、添加、删除和修改等,都是针对记录集对象进行的。记录集对象的具体操作将在后面讨论。
三、用SQL语句生成记录集
生成记录集最常用的方法是利用SQL语句。
SQL(Structure Query Language,结构化查询语言)中的语句很多,最常用的是SELECT语句,该语句用于从数据库中筛选(查询)记录集。
SELECT语句可用于ADO数据控件的记录源(RecordSource)属性、记录集的Source属性和Open方法、Connection和Command对象的Execute方法或Command对象的CommandText属性。
1. SELECT语句的语法
SELECT 字段列表 FROM 表名 [WHERE 查询条件] [GROUP BY 分组字段 [HAVING 分组条件]] [ORDER BY 排序字段 [ASC|DESC]]
说明:
字段列表:逗号分隔(“*”表示所有字段,来自不同表的同名字段前需加表名和圆点)。
FROM:指定表(可有多个表,逗号分隔),必选。
WHERE:选择记录的条件。
GROUP BY及HAVING:分组过滤,将分组字段表中同值记录合并为一条记录。
ORDER BY:排序。升序:ASC;降序:DESC。
下面的SQL语句是最简单的查询形式,生成的记录集包含整个表的全部数据:
SELECT * FROM 表名
其中“*”指表中所有字段(列)。
示例:
SELECT * FROM 用户
SELECT 工资.编号,概况.姓名,工资总额 FROM 工资,概况WHERE 工资.编号=概况.编号
2. 用WHERE子句限定记录集筛选条件
在各种子句中,WHERE子句使用频率最高。该子句指明查询的条件。
在WHERE子句中可使用各种关系(比较)运算符表示筛选记录的条件。
例如,选择学籍表中所有男生:
SELECT * FROM 学籍 WHERE 性别 = "男"
在WHERE子句中用Like运算符可实现模糊查询。
ADO的数据提供者所使用的Like运算符的通配符是“%”(VB内部为“*”),可代表任何字符,字符数不限。例如,查询所有姓“张”的学生:
SELECT * FROM 学籍 WHERE 姓名 Like "张%"
查询所有姓名中含有“小”字的学生:
SELECT * FROM 学籍 WHERE 姓名 Like "%小%"
查询姓名最后一个字为“刚”的所有学生:
SELECT * FROM 学籍 WHERE姓名 like "%刚"
SELECT语句与WHERE子句的关系如图1-1所示。
FROM
选表
表1
表2

表i
SELECT
选字段
字段1
字段2

字段j
生成
记录集
记录1
记录2

记录k
WHERE
限定条件
图1-1  用SQL语句生成记录集
 
3. 用ORDER BY子句排序
用ORDER BY子句(ASC:升序,默认;DESC:降序)对记录排序。例如:
SELECT * FROM 学籍 ORDER BY 学号 ASC
4. 用GROUP BY子句分组
用GROUP BY子句将指定字段中等值的多条记录合并为一条记录。可用HAVING子句附加条件。
例如,以“班级”作为分组字段,查询各班女生人数:
SELECT 班级,Count(*) AS 女生人数 FROM 成绩表 GROUP BY 班级 HAVING 性别="女"
说明:上面的语句中Count(*)表示统计记录总数,AS子句表示存放统计结果的字段别名。其他SQL函数还有Sum、Avg、Max和Min等。
5. 过滤重复记录
过滤重复记录是指忽略字段值相同的重复记录。例如,假定学籍表中含有400名学生的信息,这些学生来自10个班级,现在要查询学籍表中的“班级”字段生成一个班级名称记录集,如果不进行筛选过滤,则生成的记录集将含有400条记录,会有很多班级名称相同的重复记录。过滤重复记录后,可以生成仅含10个记录的记录集,每个班级的名称都是惟一的。过滤重复记录实际上是对记录进行分类,可以通过下面的方法实现。
(1)用DISTINCT关键字
在SELECT语句中使用DISTINCT关键字忽略重复记录。例如,以下语句可以过滤重复记录和空字段:
SELECT DISTINCT 班级 FROM 学籍 WHERE 班级<>NULL AND 班级<>""
(2)用GROUP BY子句
如前所述,用GROUP BY子句可以对记录进行分组,实现重复记录的过滤。例如:
SELECT 班级 FROM 学籍 GROUP BY 班级 HAVING 班级<>NULL AND 班级<>""
四、使用ADO数据控件及数据绑定控件
ADO数据控件属于ActiveX控件,加载后才能使用:
右击工具箱→部件→选中“Mcrosoft ADO Data Control 6.0(OLE DB)”→确定。
1. 连接数据库及指定记录源
ADO数据控件与数据库的连接有3种方式:数据链接文件(.UDL)、ODBC(DSN)和字符串连接。与Access数据库建立连接的常用方式是字符串连接。
通常通过属性页一次完成连接数据库和指定记录源的设置。右击窗体上的ADO数据控件,在弹出菜单中选择“ADODC属性”菜单项,打开属性页对话框。在“通用”选项卡中选择“使用连接字符串”,单击“生成”按钮,打开数据链接属性窗口。在“提供者”选项卡中选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步”按钮。在如图1-2所示的“连接”选项卡中单击第一个输入框右侧的 按钮,在弹出的对话框中选择数据库,单击“打开”后返回“连接”选项卡,单击“测试连接”按钮,成功后单击“确定”,完成连接数据库的设置,返回属性页对话框。
图1-2  连接数据库
单击属性页对话框“记录源”选项卡,显示如图1-3所示的窗口,在“记录源”选项卡中设命令类型为“2-adCmdTable”,然后在“表或存储过程名称”下拉列表中选择数据表。也可以设命令类型为“8-adCmdUnknown”或“1-adCmdText”,然后在“命令文本(SQL)”文本框中输入SQL语句,单击“确定”完成设置。
(a) 用数据表作记录源                          (b) 用SQL语句作记录源
图1-3  设置记录源
上述操作实际上是设置了ADO数据控件的两个重要属性ConnectionString(连接字符串)和RecordSource(记录源)。除了使用属性页之外,还可通过属性窗口或程序代码设置这两个属性。
在设置ADO数据控件与数据库的连接时,有一点要提请读者注意。如图x-2所示,在数据链接属性窗口的“连接”选项卡中指定数据库时采用的是绝对路径,为了保证数据库应用程序移植到其它计算机上仍可正常使用,应在测试连接成功后删除数据库名称前面的所有路径(图x-2输入框中的反相显示部分),仅保留数据库文件名。将数据库文件与工程文件存放在同一文件夹下,在工程启动窗体的Initialize事件过程中进行路径初始化处理:
Private Sub Form_Initialize()
ChDrive App.Path  '设当前驱动器为工程所在驱动器
ChDir App.Path     '设当前目录为工程所在目录
End Sub
2. 用代码设置或改变记录源
ADO数据控件一旦建立了与数据库的连接,就可以通过设置或改变其RecordSource(记录源)属性访问数据库中的任何表,亦可访问由一个或多个表中的部分或全部数据构成的记录集。在实际应用中,常常在程序运行时用代码设置RecordSource属性及其相关属性,从而使ADO数据控件具有更大的灵活性。例如:
用数据表名称作为记录源
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "学籍"
Adodc1.Refresh
用SQL语句生成的记录集作为记录源
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT * FROM 学籍"
Adodc1.Refresh
注意:设置记录源后,必须调用ADO数据控件的Refresh方法刷新对数据库的访问。
3. SQL语句的应用形式
在程序代码中,SQL语句必须以字符串形式提供。例如:
Adodc1.RecordSource = "SELECT * FROM 学籍"
如果SQL语句中含有字符串常量,必须将字符串常量放在一对单引号中,例如:
Dim strSQL As String
strSQL = "SELECT * FROM 学籍 WHERE 性别 = '男'"
Adodc1.RecordSource = strSQL
如果SQL语句中引用了String型变量或其他控件的字符串类型的属性(如文本框的Text属性),应当采用下面的引用形式(注意单引号的位置):
" ... '" & 字符串变量或控件属性 & "' ... "
例如:
Dim strSQL As String, strSex As String
strSex = "男"
strSQL = "SELECT * FROM 学籍 WHERE 性别 = '" & strSex & "'"
Adodc1.RecordSource = strSQL
又如:
Dim strSQL As String
Text1.Text = "张"
strSQL = "SELECT * FROM 学籍 WHERE 姓名 Like '" & Text1.Text & "%'"
Adodc1.RecordSource = strSQL
如果SQL语句中引用了其他类型的变量或控件属性,不使用单引号。例如:
Dim strSQL As String, intGrade As Integer
intGrade = 60
strSQL = "SELECT * FROM 成绩 WHERE 分数 >= " & intGrade _
& " AND 课程='英语'"
Adodc1.RecordSource = strSQL
4. 数据绑定控件
ADO数据控件本身不能显示记录集,需通过绑定具有显示功能的其他控件显示记录集,这些控件称为数据绑定控件或数据识别控件,如文本框、标签、图像(片)框、列表框、组合框、复选框、DataGrid等。
(1)数据绑定控件的相关属性
DataSource属性(数据源):指定(绑定到)ADO数据控件
DataField属性(数据字段):绑定到特定字段。绑定后只要移动指针,自动写入修改内容。
(2)在属性窗口设置绑定控件属性
在属性窗口将数据绑定控件的DataSource属性设为ADO数据控件(如Adodc1)。如果是单字段显示控件(如文本框等),还需将控件的DataField属性设置为特定字段。DataGrid控件属于多字段显示控件,没有DataField属性。
(3)用代码设置绑定控件属性
程序运行时可以动态地设置数据绑定控件的属性。例如:
Set Text1.DataSource = Adodc1
Text1.DataField = "姓名"
Set DataGrid1.DataSource = Adodc1
说明:DataSource是对象类型的属性,必须用Set语句为其赋值。
5. 不用绑定方法如何显示和处理记录集内容
不使用绑定的方法处理记录集比较灵活,缺点是代码编写量较大。
(1)记录集内容的显示
控件属性 = 记录集(“字段”)
例如:
Text1.Text = Adodc1.Recordset("学号")
Text2.Text = Adodc1.Recordset("姓名")
每当记录指针移动时均需对控件属性重新赋值。若需要显示的字段较多,可以编制一个自定义过程用于记录指针移动时显示各字段内容。
(2)为记录集字段赋值
记录集(“字段”) = 控件属性
例如:
Adodc1.Recordset("学号") = Text1.Text
Adodc1.Recordset("姓名") = Text2.Text
Adodc1.Recordset.Update
说明:为字段赋值后,应调用记录集的Update方法更新数据库。
五、数据库记录的操作
数据库记录的操作是针对记录集对象的操作。下面讨论的所有通过代码操作记录的方法对ADO数据控件和ADO对象编程模型中的记录集对象都是适用的。
1. 移动记录指针
(1)无编程法
不需编写代码,直接利用ADO数据控件上的4个按钮:首记录、上一记录、下一记录、末记录。
(2)编程法
有时因为用户界面的需要,将ADO数据控件隐藏(Visibal=False),只能通过编写代码实现记录指针的移动。具体步骤如下:
在窗体上放置4个命令按钮,分别为首记录、上一记录、下一记录、末记录。
在上述按钮的单击事件中,用记录集的Move方法组移动记录:
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.MovePrevious
Adodc1.Recordset.MoveNext
Adodc1.Recordset.MoveLast
记录指针的移动如图1-4所示。
BOF
首记录(First)


末记录(Last)
EOF
Previous
Next
图1-4  移动记录指针
BOF和EOF是记录集的两个特殊位置,BOF位于第一个记录之前(记录集头),EOF位于最后一个记录之后(记录集尾)。当记录指针移到BOF时,若再向前(MovePrevious)移动,或移到EOF时,再向后(MoveNext)移动,将会引发错误。采用下面的措施可以防止发生此类错误。
在“上一记录”按钮的单击事件中作如下处理:
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirst
在“下一记录”按钮的单击事件中作如下处理:
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast
2. 查找记录
查找记录的方法很多,较常用的有以下几种。
(1)用Find方法
记录集的Find方法搜索记录集中满足指定条件的记录(不区分大小写)。如果条件满足,则记录集指针定位于找到的记录上,否则指针定位于记录集的末尾(EOF)。
语法:
记录集.Find 条件[,跳行,搜索方向,开始位置]
参数说明:
条件:字符串,类似于SQL语句中WHERE子句的条件,包括字段名、比较操作符和值。
比较操作符可以是“>”、“<”、“=”、“>=”、“<=”、“<>”或“like”。
值可以是字符串、数值或者日期。字符串值以单引号分界(如“用户名 = 'Admin'”);日期值以“#”分界(如“出生日期 > #1980/1/1#”)。
如果比较操作符为“like”,则字符串值可以含有一个“%”(只能放在字符串最后),实现模糊比较,但功能有限。例如:
“姓名 like ‘王%’”
若与变量或控件属性值比较,需用&连接。例如:
Adodc1.Recordset.Find “用户名=‘” & txtUserID.Text & “’”
跳行:可选,长整型值,其默认值为零,指定搜索的位移量。若该选项设为1,连续执行Find方法,可依次找出每个符合条件的记录。
搜索方向:可选,指定搜索应从当前行还是下一个有效行开始。其值可为adSearchForward(头→尾)或adSearchBackward(尾→头)。
开始位置:可选,变体型书签,用作搜索的开始位置。
调用Find方法时,通常只带有条件参数即可,调用前先将记录指针指向首记录。例如:
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find "姓名 = '张三'"
If Adodc1.Recordset.EOF = True Then
MsgBox "未查到姓名为张三的记录。"
End If
(2)用循环结构
通过循环结构遍历记录集(适用于各种类型),查找符合条件的记录(默认区分大小写)。
例如:
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF
If Adodc1.Recordset("姓名") = "李四" Then Exit Do    ‘找到,退出循环
Adodc1.Recordset.MoveNext
Loop
If Adodc1.Recordset.EOF = True Then    '若指针指向记录集尾,说明未找到
...
Else    '否则,说明找到符合条件的记录
...
End If
(3)用SQL语句
用SQL语句生成只包括待查记录的记录集,若BOF和EOF均为True,则为空记录集。例如:
Dim strSQL As String
strSQL = "SELECT * FROM 用户 WHERE 用户名='" & txtUserID.Text & "'"
Adodc1.RecordSource = strSQL
Adodc1.Refresh
If Adodc1.Recordset.BOF = True And Adodc1.Recordset.EOF = True Then
MsgBox "无此用户!"
End If
3. 添加记录
用记录集的AddNew方法添加记录。
语法:
记录集.AddNew [字段名, 字段值]
可以先用无参数的AddNew方法添加一个空记录,然后为字段赋值,最后调用记录集的Update方法更新数据库。例如:
Adodc1.Recordset.AddNew
Adodc1.Recordset("学号") = "030101001"
Adodc1.Recordset("姓名") = "张三"
Adodc1.Recordset.Update
也可以通过控件属性或变量为字段赋值,例如用文本框中的内容为字段赋值:
Adodc1.Recordset.AddNew
Adodc1.Recordset("学号") = txtNo.Text
Adodc1.Recordset("姓名") = txtName.Text
Adodc1.Recordset.Update
说明:如果在调用Update方法之前移动了记录指针,系统将自动调用Update方法。
4. 修改记录
为记录的字段重新赋值即可实现记录的修改。
为字段赋值的常用形式:
记录集(“字段名”)= 新值
记录集!字段名= 新值
记录集.Fields(索引) = 新值
例如:
Adodc1.Recordset("学号") = "030101001"
Adodc1.Recordset!姓名 =  "张三"
Adodc1.Recordset.Update
或者:
Adodc1.Recordset.Fields(0) = "030101001"
Adodc1.Recordset.Fields(1) = "张三"
Adodc1.Recordset.Update
说明:Fields是记录集的字段集合,索引从0开始。修改记录后,应调用记录集的Update方法更新数据库。
5. 删除记录
用记录集的Delete方法删除记录。
语法:
记录集.Delete [AffectRecords]
AffectRecords参数的取值:
AdAffectCurrent:默认。仅删除当前记录。
AdAffectGroup:删除满足记录集Filter属性设置的记录。
AdAffectAll:删除所有记录。(隐含参数)
AdAffectAllChapters:删除所有子集记录。
例如:
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF And Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveLast
End If
说明:删除当前记录后,数据绑定控件(如文本框等)仍将保持已被删除的记录内容而不刷新。将记录指针移动到下一条记录,可以让用户感觉到记录已被删除,同时自动调用Update方法更新数据库。
六、ADO编程模型简介
ADO的核心是Connection、Recordset和Command对象。ADO编程模型不使用ADO数据控件,直接用代码通过ADO对象访问数据库。
使用ADO编程模型需事先添加ADO对象类库的“引用”:
工程→引用→选中“Microsoft ActiveX Data Objects 2.x Library”→确定。
添加“引用”后,应声明ADO对象变量:
Dim 变量名 As New ADODB.对象
1. Connection对象
用于建立与数据源的连接。
声明示例:
Dim cnn As New ADODB.Connection
一个Connection对象可以为多个Recordset和Command对象提供数据库连接服务。可以在程序的标准模块中声明一个全局Connection对象变量,供其他模块调用:
Public pubCnn As New ADODB.Connection
2. Recordset对象
该对象表示记录集,用于记录指针的移动和记录的查找、添加、修改或删除。
声明示例:
Dim rs As New ADODB.Recordset
3. Command对象
该对象用于对数据源执行指定的命令,如数据的添加、删除、更新或查询。
声明示例:
Dim cmm As New ADODB.Command
4. 使用ADO编程模型的一般步骤
ADO对象模型中对象的功能有交叉(冗余),对于一般的数据库应用程序,可不必使用Command对象。
(1)声明ADO对象变量
Dim cnn As New ADODB.Connection  '连接对象
Dim rs As New ADODB.Recordset     '记录集对象
(2)与数据库建立连接
为了保证数据库应用程序移植到其它计算机上仍可正常使用,应将当前工程与数据库文件保存在同一目录,并进行以下初始化处理:
Dim MyPath As String  '用于存放路径
MyPath = App.Path     '取本工程所在路径
'若非根目录,路径后加"\"
If Right$(MyPath,1) <> "\" Then MyPath = MyPath & "\"
然后建立与数据库的连接:
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"   '指定提供者
'设置数据源(指定数据库)
cnn.ConnectionString = "Data Source=" & MyPath & "Student.mdb"
cnn.Open    '与数据库建立连接
(3)设置记录集相关属性
设置记录集的锁定类型(LockType)、游标类型(CursorType)、使用的连接对象(ActiveConnection)和记录源(Source):
'锁定类型:开放式记录锁定
rs.LockType = adLockOptimistic
'游标类型:键集游标,允许在记录集中进行所有类型的移动
rs.CursorType = adOpenKeyset
'设置记录集使用的连接对象为打开的 Connection 对象
Set rs.ActiveConnection = cnn
'设置记录集的记录源
rs.Source = "SELECT * FROM 学籍"
说明:以上属性的设置必须在记录集关闭状态下方可进行。首次设定记录集的锁定类型、游标类型和连接对象后,如果不需要改变设置内容,则不必重复设定。经常发生变化的是记录源(Source属性)。
(4)打开记录集
用记录集的Open方法打开记录集。
rs.Open
说明:如果记录集已经打开,调用Open方法将引发错误。
(5)对记录集进行操作
在前面的“数据库记录的操作”一节中已作了较详细的讨论,在此仅举一例:
rs.MoveFirst    '指针移到首记录
(6)ADO对象的关闭和释放
调用Close方法可关闭Connection或Recordset对象。例如:
rs.Close
cnn.Close
关闭对象并非将其从内存中删除,对象关闭后可以更改其属性设置,然后再次打开。要将对象从内存中完全删除,可将对象变量设置为Nothing。例如:
Set rs = Nothing
Set cnn = Nothing
5. 记录集的Open方法
前面讨论打开记录集时,事先已对记录集的有关属性进行了设置,使用的是没有参数的Open方法。若使用带有参数的Open方法,可以在打开记录集的同时设置记录集的相关属性。
语法:
记录集.Open [记录源, 活动连接, 游标类型, 锁定类型, 命令类型]
记录集的Open方法有五个可选参数,其中前四个参数代表了前面已经讨论过的记录集的四个重要属性。最后一个参数“命令类型”与ADO数据控件的CommandType属性相似,默认值为adCmdUnknown(未知命令类型),可以将其设置为adCmdText(SQL语句)或adCmdTable(数据库中表的名称),但必须与“记录源”参数的内容相对应。
设cnn为已经与数据库建立连接的Connection对象,可以用以下程序段打开记录集:
Dim rs As New ADODB.Recordset
Dim strSQL As String
strSQL = "学籍"
'用数据库中的表作为记录源
rs.Open strSQL, cnn, adOpenKeyset , adLockOptimistic, adCmdTable
...
rs.Close
strSQL = "SELECT * FROM 学籍 WHERE 性别='男'"
'用SQL语句作为记录源
rs.Open strSQL, cnn, adOpenKeyset , adLockOptimistic, adCmdText
小结
1. VB提供了利用ADO访问数据库的两种主要形式:ADO数据控件和ADO对象编程模型。这两种方式可以单独使用,也可以同时使用。
2. 记录集对象是ADO中的一个功能强大的对象,对数据库的绝大部分操作,如记录指针的移动,记录的查找、添加、删除和修改等,都是针对记录集对象进行的。
3. 生成记录集最常用的方法是利用SQL语句,其中最常用的是SELECT语句,该语句用于从数据库中筛选(查询)记录集。在各种子句中,WHERE子句使用频率最高,该子句指明查询的条件。在程序代码中,SQL语句必须以字符串形式提供给ADO对象的相关属性和方法。
4. ADO数据控件与Access数据库建立连接的常用方式是字符串连接。通常用属性页完成对ADO数据控件连接数据库和指定记录源的设置。在程序运行时可以用代码设置RecordSource属性,从而使ADO数据控件具有更大的灵活性。ADO数据控件本身不能显示记录集,需通过数据绑定控件显示和处理记录集。
5. 数据库记录的操作是针对记录集对象的操作。记录操作包括记录指针的移动,记录的查找、添加、删除和修改,这些操作是编制数据库应用程序的主要内容。
6. ADO编程模型不使用ADO数据控件,直接用代码通过ADO对象访问数据库。使用ADO编程模型的一般步骤为:声明ADO对象变量;与数据库建立连接;设置记录集相关属性;打开记录集;对记录集进行操作;关闭和释放ADO对象。

济南铁道职业技术学院 信息工程系计算机应用技术教研室  技术支持:Limber Senovo