【知识点】学生信息管理系统模块中ExecuteSQL函数
2014-08-04 10:28
393 查看
ExecuteSQL的定义
'(执行SQL语句,并返回结果集。)'传递参数SQL传递查询语句,MsgString传递查询信息。自身以一个数据集对象的形式返回
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection '定义连接
Dim Rst As ADODB.Recordset
Dim sTokens() As String '定义字符串
On Error GoTo ExecuteSQL_Error '异常处理
sTokens = Split(SQL) '用Split函数产生一个包含各个子串的数组
Set Cnn = New ADODB.Connection '创建连接
Cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then '判断字符串中是否含有指定内容
Cnn.Execute SQL '执行查询语句
MsgString = sTokens(0) & "query successful" '返回查询信息
Else
Set Rst = New ADODB.Recordset '闯将数据集对象
Rst.Open Trim$(SQL), Cnn, adOpenKeyset, adLockOptimistic '返回查询结果
Set ExecuteSQL = Rst '返回记录集对象
MsgString = "查询到" & Rst.RecordCount & " 条记录"
End If
ExecuteSQL_Exit:
Set Rst = Nothing '清空数据集对象
Set Cnn = Nothing '中断连接
Exit Function
ExecuteSQL_Error: '判断错误类型
MsgString = "查询错误:" & Err.Description
MsgBox MsgString
Resume ExecuteSQL_Exit
对于"Rst.Open Trim$(SQL), Cnn, adOpenKeyset, adLockOptimistic "涉及到了recordset的对象方法,下面是我的一些查询和理解,希望大家可以多多与我交流!
Recordset对象方法
Open方法
recordset.OpenSource,ActiveConnection,CursorType,LockType,Options
Source
Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored
ActiveConnection
Recordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。
CursorType
Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
--------------------------------------------------------------
常数常数值说明
--------------------------------------------------------------
adOpenForwardOnly 0缺省值,启动一个只能向前移动的游标(Forward
Only)。
adOpenKeyset 1启动一个Keyset类型的游标。
bbs.bitsCN.com
adOpenDynamic 2启动一个Dynamic类型的游标。
adOpenStatic 3启动一个Static类型的游标。
--------------------------------------------------------------
LockType
Recordset对象Open方法的LockType参数表示要采用的Lock类型,如果忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
-------------------------------------------------------------
常数常数值说明
--------------------------------------------------------------
adLockReadOnly 1缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adLockPrssimistic 2当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
adLockOptimistic 3当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
adLockBatchOptimistic 4当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作。
相关文章推荐
- 学生信息管理系统知识点
- 学生信息管理系统之小小知识点
- 【学生信息管理系统】模块代码的理解
- 学生信息管理系统之模块的理解
- 学生信息管理系统(四)——模块分析
- 学生信息管理系统 模块代码总结
- 学生信息管理系统知识点大盘点 1
- 学生信息管理系统模块ExecuteSql 函数详解
- 【原创视频教程】学生信息管理系统3--学员添加
- 【原创视频教程】学生信息管理系统1--登陆
- [VB.NET源码]学生信息管理系统
- 【原创视频教程】学生信息管理系统4--成绩添加
- 【原创视频教程】学生信息管理系统5--学员成绩管理
- 【原创视频教程】学生信息管理系统1--登陆
- 命名规范不只是增加可读性!(实例:asp.net C#学生信息管理系统)
- 学生信息管理系统-C#课程设计
- 【原创视频教程】学生信息管理系统5--学员成绩管理
- 【原创视频教程】学生信息管理系统2--主窗体
- 【原创视频教程】学生信息管理系统6--学员信息管理(完结篇)
- 学生信息管理系统