分享

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

 昵称728549 2010-01-27


 

     

 

VB程序设计  >> 课程实训  >> 准备知识

准备知识—VB数据库应用基础

一、VB如何访问数据库

目前,Visual Basic访问数据库的主流技术是ADOADO是一种基于对象的数据访问接口,在VB中提供了利用ADO访问数据库的两种主要形式:ADO数据控件(ADODC)和ADO对象编程模型(ADO代码)。这两种方式可以单独使用,也可以同时使用。

使用ADO数据控件的优点是代码少,一个简单的数据库应用程序甚至可以不用编写任何代码。它的缺点是功能简单,不够灵活,不能满足编制较复杂的数据库应用程序的需要。

使用ADO对象编程模型的优点是具有高度的灵活性,可以编制复杂的数据库应用程序。它的缺点是代码编写量较大,对初学者来说有一定困难。

二、对记录集对象的初步理解

无论是使用ADO数据控件,还是使用ADO对象编程模型,都会涉及到记录集对象。因此,在讨论访问数据库的两种方式之前,有必要初步了解一下记录集对象。

请看下面来自学生数据库的几个集合:

取学籍表(含学号、姓名、性别等字段)中所有学生的记录构成一个集合;

取学籍表中所有男生的记录构成一个集合;

取学籍表中张三的学号和姓名,根据其学号取成绩表(含学号、课程和分数三个字段)中张三的各科成绩构成一个集合。

以上几个集合都是“记录的集合”,由此得出以下概念:

将数据库中一个或多个表中的部分或全部数据构成一个“记录的集合”,这个集合就称为“记录集”(Recordset)。若将记录集看作一个对象,这个对象就是记录集对象。

记录集由行(记录)和列(字段)构成。

记录集对象是ADO中的一个功能强大的对象,对数据库的绝大部分操作,如记录指针的移动,记录的查找、添加、删除和修改等,都是针对记录集对象进行的。记录集对象的具体操作将在后面讨论。

三、用SQL语句生成记录集

生成记录集最常用的方法是利用SQL语句。

SQLStructure Query Language,结构化查询语言)中的语句很多,最常用的是SELECT语句,该语句用于从数据库中筛选(查询)记录集。

SELECT语句可用于ADO数据控件的记录源(RecordSource)属性、记录集的Source属性和Open方法、ConnectionCommand对象的Execute方法或Command对象的CommandText属性。

1. SELECT语句的语法

SELECT 字段列表 FROM 表名 [WHERE 查询条件] [GROUP BY 分组字段 [HAVING 分组条件]] [ORDER BY 排序字段 [ASC|DESC]]

说明:

字段列表:逗号分隔(“*”表示所有字段,来自不同表的同名字段前需加表名和圆点)。

FROM:指定表(可有多个表,逗号分隔),必选。

WHERE:选择记录的条件。

GROUP BYHAVING:分组过滤,将分组字段表中同值记录合并为一条记录。

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函数还有SumAvgMaxMin等。

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.0OLE DB)”→确定。

1. 连接数据库及指定记录源

ADO数据控件与数据库的连接有3种方式:数据链接文件(.UDL)、ODBCDSN)和字符串连接。与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  移动记录指针

BOFEOF是记录集的两个特殊位置,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语句生成只包括待查记录的记录集,若BOFEOF均为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的核心是ConnectionRecordsetCommand对象。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对象可以为多个RecordsetCommand对象提供数据库连接服务。可以在程序的标准模块中声明一个全局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    '指针移到首记录

6ADO对象的关闭和释放

调用Close方法可关闭ConnectionRecordset对象。例如:

rs.Close

cnn.Close

关闭对象并非将其从内存中删除,对象关闭后可以更改其属性设置,然后再次打开。要将对象从内存中完全删除,可将对象变量设置为Nothing。例如:

Set rs = Nothing

Set cnn = Nothing

5. 记录集的Open方法

前面讨论打开记录集时,事先已对记录集的有关属性进行了设置,使用的是没有参数的Open方法。若使用带有参数的Open方法,可以在打开记录集的同时设置记录集的相关属性。

语法:

记录集.Open [记录源, 活动连接, 游标类型, 锁定类型, 命令类型]

记录集的Open方法有五个可选参数,其中前四个参数代表了前面已经讨论过的记录集的四个重要属性。最后一个参数“命令类型”与ADO数据控件的CommandType属性相似,默认值为adCmdUnknown(未知命令类型),可以将其设置为adCmdTextSQL语句)或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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多