注释

7 篇文章 0 订阅

经过一阶段的业余学习之后,终于来到了机房收费系统,没想到前进的阻力比自己想象的大很多,经过几天的分析之后就决定动手做了,参照之前的学生来做的时候发现之前的很多不理解的,自己经过查资料,先把学生里的模块分析了一遍,分享给大家,也希望都把自己不懂得搞清楚,提高的更多。

Public fMainForm As FrmMain
Public UserName As String               '定义全局变量 用户名

Sub Main()                              '主过程函数(入口函数)
    Dim fLogin As New frmLogin          '定义一个登录窗口
    fLogin.Show vbModal                 '显示窗口
    If Not fLogin.OK Then               '如果失败 ,退出程序
        End
    End If
    Unload fLogin                       '卸载登录窗体
    '定义主窗体,  显示主窗口
    Set fMainForm = New FrmMain
    fMainForm.Show
    
End Sub

Public Function ConnectString() As String                          'connectstring 函数主要负责数据库的连接工作
    ConnectString = "fileDSN=charge.dsn;UID=sa;PWD=123456"         '通过dsn的方式连接数据库,dsn的用户名和密码
End Function

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
    'executes SQL and returns recordset           执行SQL语句的函数,带两个参数,一个是查询语句,一个是提示的消息
    Dim cnn As ADODB.Connection                '定义数据库资料变量?
    Dim rst As ADODB.Recordset                 '定义记录集变量
    Dim sTokens() As String                    '定义字符型数组变量
    
    On Error GoTo ExecuteSQL_Error             '是函数运行中出错时转至executesql_error (错误出口)处
    
    sTokens = Split(SQL)                       '对字符串用split函数进行分割,'将实参SQL斩开,并赋值给数组
    Set cnn = New ADODB.Connection             '激活数据库连接
    cnn.Open ConnectString                     '打开数据库
    
    
    '看数组sTokens第一个元素中是否是前个三个词(插入,删除,更新)之一
    If InStr("INSERT,DELECT,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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值