机房收费系统——经典代码总结

       机房收费系统完成之后,发现其中有很多经典的代码,这些代码在未来的开发中很可能会使用到。针对这么代码进行一个归纳总结,方便日后使用

数据库传递参数SQL传递查询语句,记录查询结果

'传递参数SQL传递查询语句,Msgstring传递查询信息
'自身以一个数据集对象的形式返回
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         ' 定义字符串
 
On Error GoTo ExecuteSQL_Error
'异常处理
 
    sTokens = Split(SQL)    '用Split函数产生一个包含各个子串的数组
 
    Set cnn = New ADODB.Connection    '创建连接
    cnn.Open ConnectString     '打开连接
 
    '判断字符串中是否含有指定内容
    If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
        '执行查询语句
        cnn.Execute SQL
        '返回查询信息
        MsgString = sTokens(0) & " query successsful"
    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
 
    '在Visual Basic中,为了避免程序代码出错而终止程序
    '一般在无法确定出错原因的情况下采用
    Resume ExecuteSQL_Exit
 
End Function

建立连接

Public Function ConnectString() As String
    '本机发布
    ConnectString = "FileDSN=charge.dsn;UID=sa;PWD=1"
    
    '异地发布
    'ConnectString = 
    Provider=sqloledb;server=192.168.96.142;UID=sa;PWD=1;database=charge_sys"
End Function

判断数据集是否为空

    If mrc1.EOF = False Then                  '判断用户是否存在
        ComboRealname.Text = mrc1.Fields(3)       '将查询到的用户名在文本框中显示
        mrc1.MoveNext
        mrc1.Close
    End If

组合查询关键字替换文

Public Function Fieldname(strFieldname As String) As String
    Select Case strFieldname
        Case "卡号"
            Fieldname = "cardno"
        Case "姓名"
            Fieldname = "studentname"
        Case "上机日期"
                Fieldname = "ondate"
        Case "上机时间"
            Fieldname = "ontime"
        Case "下机日期"
            Fieldname = "offdate"
        Case "下机时间"
            Fieldname = "offtime"
        Case "消费金额"
            Fieldname = "consume"
        Case "余额"
            Fieldname = "cash"
    End Select
End Function

导出Excel

Private Sub cmdExportExcel_Click()

    Dim xlsapp As Excel.Application                 '定义excel程序
    Dim xlsbook As Excel.Workbook                   '定义工作簿
    Dim xlssheet As Excel.Worksheet                 '定义工作表
    Dim j As Long
    Dim i As Long
    
    Set xlsapp = CreateObject("Excel.Application")  '创建应用程序
    Set xlsbook = xlsapp.Workbooks.Add
    Set xlssheet = xlsbook.Worksheets(1)            '设置应用表
    
    With xlsapp
         .Rows(1).Font.Bold = True                  '设置字体格式
    End With
    For i = 0 To MSHFlexGrid1.Rows - 1               '把msflexgrid1的内容写入到电子表格中
        For j = 0 To MSHFlexGrid1.Cols - 1
            xlssheet.Cells(i + 1, j + 1) = "'" & MSHFlexGrid1.TextMatrix(i, j)
        Next j
    Next i
    xlsapp.Visible = True
End Sub
发布了40 篇原创文章 · 获赞 10 · 访问量 7127

猜你喜欢

转载自blog.csdn.net/xyzyhs/article/details/100729968