<< Click to Display Table of Contents >> 打开Recordset记录集(gf_OpenRecordset函数) |
函数说明
该函数可以根据SQL语句,打开并获取ADO记录集。
注意:该函数无需引用ADO相关的组件,直接使用即可。实现ADO后期绑定。而且使用方法基本和原ADODB.Recordset一样。
函数原型
|
Public Function gf_OpenRecordset(strSql As String, _ Optional Conn As Object, _ Optional intOpenType As AdoCursorType = intOpenKeyset, _ Optional intLockType As AdoLockType = intLockReadOnly, _ Optional lngOption As AdoRecordsetOption = -1, _ Optional intCursorLocation As AdoCursorLocation = intUseServer, _ Optional blnIgnoreErr As Boolean = True) As Object |
语法
gf_OpenRecordset(strSql [,Conn] [,intOpenType] [,intLockType] [,lngOption] [,intLockType] [,intCursorLocation] [,blnIgnoreErr])
参考:gf_OpenRecordset("select * from tblTest", CurrentProject.Connection, 1, 3) '打开tblTest表,并返回记录集对象
参数
参数名 |
必需/可选 |
数据类型 |
参数说明 |
---|---|---|---|
strSql |
必需 |
String |
字符串表达式,SQL语句 |
Conn |
可选 |
Object |
ADODB.Connection对象。默认CurrentProject.Connection,也可以用gf_CreateConnect函数创建该对象。 |
intOpenType |
可选 |
打开记录集Recordset时,使用的指标类型。默认为intOpenKeyset ( = 1) |
|
intLockType |
可选 |
打开记录集Recordset时,使用的何种锁定方式。默认为intLockReadOnly ( = 1) |
|
lngOption |
可选 |
使用记录集Recordset的评估选项。默认-1,即不使用。 |
|
intCursorLocation |
可选 |
打开记录集Recordset的游标类型。默认intUseServer ( = 2) |
|
blnIgnoreErr |
可选 |
Boolean |
是否忽略打开错误。默认值是True。 |
返回值
返回记录集对象(ADODB.Recordset)。若打开错误,则返回Nothing。
示例
|
’一般使用前面4个参数即可满足需求,后面三个参数比较少用,默认即可。特殊情况下才会使用。
’示例1:打开tblTest新增记录 Sub subTest1() Dim strSql As String ’定义一个字符串型变量,SQL语句 Dim rs As Object '定义一个对象,用于接收返回的记录集Recordset
strSql = "select * from tblTest" ‘设置SQL语句 Set rs = gf_OpenRecordset(strSql, CurrentProject.Connection, 1, 3) '打开tblTest表并返回对应的记录集对象。后面参数1和3表示可修改 'Set rs = gf_OpenRecordset(strSql, , 1, 3) '由于第二个参数是CurrentProject.Connection可以省略不写,这句效果等同上面。 rs.AddNew ‘新增记录 rs("FName")="张三" ’FName字段值为"张三" rs.Update '提交数据 rs.Close '关闭记录集
Set rs = Nothing ‘使用完毕,清空对象,节省资源 End Sub
’示例2:修改记录 Sub subTest2() Dim strSql As String ’定义一个字符串型变量,SQL语句 Dim rs As Object '定义一个对象,用于接收返回的记录集Recordset
strSql = "select * from tblTest where FName='张三'" ‘设置SQL语句,查找FName为张三的记录 Set rs = gf_OpenRecordset(strSql, CurrentProject.Connection, 1, 3) '打开tblTest表并返回对应的记录集对象。后面参数1和3表示可修改 'Set rs = gf_OpenRecordset(strSql, , 1, 3) '由于第二个参数是CurrentProject.Connection可以省略不写,这句效果等同上面。 If rs.RecordCount > 0 Then ’判断是否有记录 rs("FAge")=15 ’FAge字段值修改为15 rs.Update '提交数据 Else Msgbox "找不到【张三】对应的记录" End If rs.Close '关闭记录集
Set rs = Nothing ‘使用完毕,清空对象,节省资源 End Sub
’示例3:获取表中记录的值 Sub subTest3() Dim strSql As String ’定义一个字符串型变量,SQL语句 Dim rs As Object '定义一个对象,用于接收返回的记录集Recordset
strSql = "select * from tblTest where FName='张三'" ‘设置SQL语句,查找FName为张三的记录 Set rs = gf_OpenRecordset(strSql, CurrentProject.Connection, 1, 1) '打开tblTest表并返回对应的记录集对象。后面参数1和1表示只读 'Set rs = gf_OpenRecordset(strSql, , 1, 1) '由于第二个参数是CurrentProject.Connection可以省略不写,这句效果等同上面。 If rs.RecordCount > 0 Then ’判断是否有记录 Msgbox "【张三】的年龄为 " & rs("FAge") Else Msgbox "找不到【张三】对应的记录" End If rs.Close '关闭记录集
Set rs = Nothing ‘使用完毕,清空对象,节省资源 End Sub |