在敲学生管理系统的时候,遇到了好的学过的、没学过的总之是不熟悉的知识点。这次总结一下,希望下次用的时候能比这次好一些。(不熟悉就过来这查,哈哈哈!)
1、 模块中 ExecuteSQL函数和修改课程信息中的 viewData()过程。
刚开始的时候我认为 Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset 这个是声明过程 ,因为我记得在vb中我们学过两种过程一种
sub过程(没有返回值)一种是function过程(有返回值)。当我返回vb课本中看 function过程说明时,课本上说function过程又称函数,当反复调用一个内部函数时,vb允许用户自定义函数,即编写function过程(又称函数过程)。
后来又在百度上搜了下过程和函数的区别(在这里不做分析)我总结函数和过程的区别。
|
是否有返回值 |
是否可以单独执行 |
是否可以插入SQL语句中 |
返回值类型 |
过程 |
可以没有 |
可以 |
不可以 |
可以返回参数或结果集 |
函数 |
必须且只有一个 |
不可以 |
可以 |
单一值或一个表对象 |
综上所述,我还是决定把决定把ExecuteSQL 归类给过程。
2、模块中的sTokens = Split(SQL)
split函数返回一个下标从零开始的一维数组,它包含传回数组= Split(原始字串, 要找的字串, 拆成几个数组)默认返回一维数组,以指定字符分割,T=split("F:\a\a.txt","\")则:T(0)="F:";T(1)="a";T(2)="a.txt" ;T(UBound(T))=a.txt编辑本段语法Split(expression[, delimiter[, count[, compare]]])部分描述expression必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。
在学生管理系统中,首先定义 sTokens()函数,然后用sTokens = Split(SQL) 返回字符串,而sTokens(0)的意思是:
用函数split返回字符串SQL的首字符串。
3、模块中 If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
InStr函数: instr( string1, string2, start_position,nth_appearance ) [1] [2]
string1
|
源字符串,要在此字符串中查找。
|
string2
|
要在string1中查找的字符串 。
|
start_position
|
代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
|
nth_appearance
|
代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
来源: <http://baike.baidu.com/view/1320607.htm#2>
|
在学生管理系统中是看返回的是否有"INSERT,DELETE,UPDATE"三个字符串。也就是说看是否是SQL中增、删、改三个语句。
如果是的话,执行SQL语句
如果不是的话,也就是如果是select的话,返回查询结果,返回记录集对象、最后呈现出来。
4、其他
order by 语句用于根据指定的列对结果集进行排序。(详细解释)
Trim$(SQL) 。trim 函数:去掉空格 ; $ 数据类型声明符 ,例如:Name$"李明" 声明一个变长字符串变量并赋值。
mrcc!Grade 可以替换为 Grade = mrcc.Fields("Grade").Value
总结是为了更好的理解和整理自己的知识。
学生管理系统中还有很多知识点没有总结到,希望您感觉比较重要的或感触比较深的知识点,可以和我分享讨论。我们共同学习、共同进步。