前言
我第一个窗体敲的是登录,当我想总结登录窗体时,我发现不仅登录窗体,所有窗体都有个大哥,应该把这个大哥排到前面。
正文
先把我的注释贴上,这里面是我的公用模块思路,之后再总结我的收获~
’声明主窗体和用户名
’定义数据库连接字符串
’连接数据库
’执行查询语句返回信息
’异常处理
’退出时清空数据集对象问题
’判断输入内容是否为空
’显示/卸载主窗体
'定义数据库连接字符串
Public Function connectstring() As String connectstring = "filedsn=studentinfo.dsn;UID=sa;PWD=123456" End Function
connectstring并不是连接数据库的意思,它只是个声明的字符串,可以换成任何。
connectstring就好比一个容器,容器里面加入了文件DSN的ID和密码这些字符,但它并没有使用的功能,定义是为了方便在后面我们打开数据库连接位置时用一个connectstring就可以代表了。
'声明以sql语句从数据库记录集中调取记录
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 '连接数据库 sToken = Split(sql) Set cnn = New ADODB.Connection cnn.Open connectstring
这里把ADODB简单介绍下
ADODB(Active Date Objects Date Base)它是动态数据链接对象,我们定义cnn,rst后,就可以用他们来连接数据库和调用数据记录集了。
’异常处理
On Error GoTo Executesql_Error '退出时清空数据集对象问题 End If Executesql_Exit: Set rst = Nothing Set cnn = Nothing Exit Function '查询错误 Executesql_Error: MsgString = "查询错误:" & Err.Description Resume Executesql_Exit End Function '判断输入内容是否为空 Public Function testtxt(txt As String) As Boolean If Trim(txt) = "" Then testtxt = False Else testtxt = True End If End Function
通过异常处理,我们可以对用户在程序中的非法输入进行控制和提示,以防程序崩溃。
补:声明变量模块
'声明并从动态链接库中引用“获取用户名信息”过程 Private Declare Function GetuserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String,nSize As Long) As Long
Private语句:在模块级别中使用,用于声明私有变量及分配存储空间
Declare 语句:用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用