executssql 函数的每一句代码的意思
Public Function Executesql(ByVal sql As String, Msgstring As String) As ADODB.Recordset
Dim cnn As ADODB.Connection '定义cnn 为数据库的连接形式,配合cnnectstring() 函数连接并打开数据库 cnnectstring的函数下面会有介绍
Dim rst As ADODB.Recordset '定义一个临时列表,存放从数据库中取出的数据
Dim sTokens() As String '定义一个数组,将sql语句按数组的形式存放
On Error GoTo Executesql_error '如果出错,进行的应急处理
sTokens = Split(sql) '通过split函数将sql 语句按单词存入数组,例:如果sql语句是 select * from student ,那么运行的结果就是——stokens(0)= "select",stokents(1)="*" ,stokens(2)="from",stokens(3)="student"
Set cnn = New ADODB.Connection '将cnn实例化
cnn.Open ConnectString '通过connectstring将数据库连接,并且打开
If InStr("INSERT,DELET,UPDATE", UCase$(sTokens(0))) Then '判断是否通过select语句进行查询操作
cnn.Execute sql<span style="white-space:pre"> </span>'直接执行操作,不返回操作结果。
Msgstring = sTokens(0) & "query successful"
Else
Set rst = New ADODB.Recordset '临时列表的实例化
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic 'rst打开,trim&()中保存的是要进行的操作字符串;cnn是字符串表达式,登录的 ODBC 数据源的名称,打开方式。;dOpenKeyset ,确定游标类型(即查找的方式) 为使用键集游标。不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,它和动态游标相似。其他用户所做的数据更改依然可见;adlockoptimistic,当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
Set Executesql = rst '将得到的临时列表赋值给executesql函数,尤它传回并进一步赋值给mrc
Msgstring = "查询到" & rst.RecordCount & "条记录"
End If
Executesql_exit: '函数退出前的一个清空临时列表的操作。
Set rst = Nothing
Set cnn = Nothing
Exit Function
Executesql_error: '错误标识,错误出现时的处理
Msgstring = "查询错误:" & _
Err.Description
Resume Executesql_exit
End Function
executssql 函数的每一句代码的意思的更多相关文章
- 一句代码,更加优雅的调用KVO和通知
来源:wazrx 链接:http://www.jianshu.com/p/70b2503d5fd1 写在前面 每次使用KVO和通知我就觉得是一件麻烦的事情,即便谈不上麻烦,也可说是不方便吧,对于KVO ...
- 对百度WebUploader的二次封装,精简前端代码之图片预览上传(两句代码搞定上传)
前言 本篇文章上一篇: 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传) 此篇是在上面的基础上扩展出来专门上传图片的控件封装. 首先我们看看效果: 正文 使用方式同 ...
- 炫酷:一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现
本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发. 其实上周五的时候已经发过一篇文章.基本实现了底部导航栏隐藏的效果.但是使用起来可能不是很实用.因为之前我实现的方式是继承了系统的 ...
- JavaScript:一句代码输出重复字符串(字符串乘法)
看到一个题目要求写一个函数times,输出str重复num次的字符串. 比如str:bac num:3 输出:abcabcabc 除了利用循环还有几种方法,我学习研究之后记下以下三种方法. 1 ...
- __name__='main' 这句代码是什么意思?《读书笔记》
当我们阅读 别人的python代码都会有 if name == "main"这么一行语句,但却不知道为什么要写这个?有什么用 想知道这段代码什么意思让我们来根据例子来测试一下 我们 ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- ASP.NET 一句代码实现批量数据绑定
摘要:对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定.如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定,作者开发了的插 ...
- jQuery 一句代码返回顶部
兼容各大主流浏览器,jQuery返回顶部,一句代码搞定 <a class="top" href="javascript:;" style="po ...
- 用读写锁三句代码解决多线程并发写入文件 z
C#使用读写锁三句代码简单解决多线程并发写入文件时提示“文件正在由另一进程使用,因此该进程无法访问此文件”的问题 在开发程序的过程中,难免少不了写入错误日志这个关键功能.实现这个功能,可以选择使用第三 ...
随机推荐
- 《数据结构与算法分析:C语言描述》读书笔记------List的C语言实现
List的简单实现.在GCC下测试通过. list.h #ifndef _List_H /*List数据结构的简单实现*/ struct Node; typedef struct Node Node; ...
- STM32+NRF24L01无线(转)
源:STM32+NRF24L01无线 硬件SPI和模拟SPI源码: nrf24发送(模拟SPI)BHS-STM32.rar nrf24接收(模拟SPI)BHS-STM32.rar nrf24发送(硬件 ...
- Keil C 里面Lib库文件的生成与调用
源:Keil C 里面Lib库文件的生成与调用
- php小知识。
合并数组的2个方式区别 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖) 2)键 ...
- Json填充到Form中
很多框架都支持将json解释到grid的或者form中,个人手痒,自己写了一个.所用到的内容主要是javascript对json的遍历.如: for (var key in json) { alert ...
- limesurvey设置短调查问卷url
If you want to use fancy URLs and so not have /index.php in every URL please edit /application/confi ...
- iOS 之 线性布局
本来想自己写一个线性布局的类,看来不用了 ,网上已经有了,我先试试好不好用. https://github.com/youngsoft/MyLinearLayout 线性布局MyLinearLayou ...
- QGis(三)查询矢量图层的要素属性字段值(转载)
QGis(三)查询矢量图层的要素属性字段值 https://github.com/gwaldron/osgearth/issues/489 当加载一个矢量图层后,如果要查看要素的属性字段值,则需要实现 ...
- hashchange
<!DOCTYPE html> <html> <head> <title>Hash Change Example</title> <s ...
- iOS 沙盒
1. 概念 某个应用程序的非代码文件存放空间. 2. 文件结构 每个沙盒有三个文件夹: Documents: 存放文件 Library: 存放默认设置或状态信息.Library/caches: 缓存文 ...