机房收费系统模块篇—Split函数、InStr函数

2024-01-06 04:48

本文主要是介绍机房收费系统模块篇—Split函数、InStr函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面是我在设计窗体感到厌烦的时候东拼西凑做出来的机房的数据连接代码。这次秉着搞清每句语法的意思,每一段代码都被搜了了几遍。下面就是我的一些总结,希望各位多多指点。
Option Explicit       '//这个就不多提了啊//米老师多次强调的//

Public UserName As String   '//声明一个全局变量UserName//
'以文件DSN标记数据源,访问ODBC数据源
Public Function ConnectString() As String   '声明全局变量
'return a DB ConnectString
ConnectString = "provider=sqloledb;server=192.168.26.94;UID=sa;PWD=1;database=charge of student(Mine)"
'上面这句为连接地址、验证信息以及所用数据库
End Function
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
'Executes SQL and returns Recordset
Dim cnn As ADODB.Connection    '//定义连接数据库的连接线,并将其命名为“cnn”//
Dim rst As ADODB.Recordset     '//定义一个名为”rst“的记录集变量//
Dim sToKens() As String        '//定义数组,从而将SQL语句按关键字进行保存 //
On Error GoTo ExecuteSQL_Error   '//错误处理:如果出现异常,执行ExecuteSQL_Error标签后的语句//
sToKens = Split(SQL)      '//将实参sToKens进行分解,并将分解结果赋值给数组Split//
Set cnn = New ADODB.Connection   '//创建一个连接//
cnn.Open ConnectionString    '//打开ConnectionStrings所代表的数据库//
If InStr("INSERT,DELETE,UPDATE", UCase$(sToKens(0))) Then   '//看数组sToKens中的第一个元素 _
是否是(插入、删除、更新)三个中的一个//
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 '//判断错误类型//
Resume ExecuteSQL_Exit  '//重新开始执行ExecuteSQL_Exit//
End Function
关于上面代码中用到的两个函数Split和InStr,我是这样理解的:
一、Split函数
看过几篇讲解Split的文章后,总算是对Split有了一个自己的理解。简单点讲,Split函数常用来传输数据和文本,而Split函数本质上就是一把刀:可以字符串斩成一维数组的刀。
VB中的Split语法:
Split(Expression,[Delimiter],[Count],[Compare])
Experssion:就是我们想要转化的表达式了;
Delimiter:分割的标识点(可省略);
 Conut:需要返回的字符串数(可省略,-1为返回全部字符串);需要注意的是Count值是将经过Split函数处理的字符串分成几组来进行显示的依据;有意思的是如果Count值相对于输出的一维数组的元素数过多时会发生一个有意思的现象,我在这里就不再赘述请大家仔细在下面的例子中寻找这个现象吧。
Compare:比较方式(可选)。
举例:
Split("十三期,十二期,十一期,十期",“,”,3),这时Split函数返回的将是"十三期"、"十二期"、"十一期,十期"这三个元 素构成的一个一维数组。
(例子的代码部分)

(本例的运行结果)

二、InStr函数
InStr函数的使命在我看来就好比一个雷达搜寻的功能:在A中有没有B?
VB中的InStr语法:
InStr([Start],String1,String2,[Compare])
参数简介:
  Start:从String1中开始查找的位置。可选,默认值为1;若为正,则从左向右进行查找;若为负,则从右往左进行查找。
String1:源字符串,查找要在String1中展开;
String2:目标字符串,在String1中查找的字符串;
Compare:执行比较。
本例代码部分

运行结果:

以上是我对这部分代码的理解,希望有大牛可以帮我指点指点。
感谢您的宝贵时间!

这篇关于机房收费系统模块篇—Split函数、InStr函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/575243

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用