工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1524|回复: 4

发个VB程序,请帮忙将重要的语句解释一下

[复制链接]
发表于 2007-1-8 20:54 | 显示全部楼层 |阅读模式
Public fMainForm As frmMain
Public gintSmode As Integer 'for service
Public gintPmode As Integer 'for plane
Public gintAmode As Integer 'for airline
Public gintTmode As Integer 'for customertype
Public gintCmode As Integer 'for customer
Public gintKmode As Integer 'for ticket
Sub Main()
    Dim fLogin As New frmLogin
    fLogin.Show vbModal
    If Not fLogin.OK Then
        'Login Failed so exit app
        End
    End If
    Unload fLogin

    Set fMainForm = New frmMain
    fMainForm.Show
End Sub
Public Function ConnectString() _
   As String
'returns a DB ConnectString
   C
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
   Dim rst As ADODB.Recordset
   Dim sTokens() As String
   
   On Error GoTo ExecuteSQL_Error
   
   sTokens = Split(SQL)
   Set cnn = New ADODB.Connection
   cnn.Open ConnectString
   If InStr("INSERT,DELETE,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
      'rst.MoveLast     'get RecordCount
      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
End Function
Public Sub EnterToTab(Keyasc As Integer)
    If Keyasc = 13 Then
        SendKeys "{TAB}"
    End If
End Sub
Public Function GetRkno() As String
    GetRkno = Format(Now, "yymmddhhmmss")
    Randomize
    GetRkno = GetRkno & Int((99 - 10 + 1) * Rnd + 10)
End Function

[ 本帖最后由 云出无心 于 2007-1-8 22:32 编辑 ]
发表于 2007-1-8 21:45 | 显示全部楼层
何谓重要语句?
回复

使用道具 举报

 楼主| 发表于 2007-1-8 21:57 | 显示全部楼层
Public Function ExecuteSQL(ByVal SQL _
   As String, MsgString As String) _
   As ADODB.Recordset
'executes SQL and returns Recordset
   Dim cnn As ADODB.Connection
   Dim rst As ADODB.Recordset
   Dim sTokens() As String
   
   On Error GoTo ExecuteSQL_Error
   
   sTokens = Split(SQL)
   Set cnn = New ADODB.Connection
   cnn.Open ConnectString
   If InStr("INSERT,DELETE,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
      'rst.MoveLast     'get RecordCount
      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
End Function

这段执行数据库的咯~~
我就看不明了
请指教

[ 本帖最后由 云出无心 于 2007-1-8 22:00 编辑 ]
回复

使用道具 举报

发表于 2007-1-8 22:10 | 显示全部楼层
没学VB,不过看明白了 - -#

  1. sTokens = Split(SQL)
  2.    Set cnn = New ADODB.Connection
  3.    cnn.Open ConnectString
复制代码

建立数据库链接


  1. If InStr("INSERT,DELETE,UPDATE", _
  2.       UCase$(sTokens(0))) Then
  3.       cnn.Execute SQL
  4.       MsgString = sTokens(0) & _
  5.          " query successful"
复制代码

如果SQL查询语句中含有INSERT DELETE UPDATE等字眼就执行SQL语句并提示执行成功


  1. Else
  2.       Set rst = New ADODB.Recordset
  3.       rst.Open Trim$(SQL), cnn, _
  4.          adOpenKeyset, _
  5.          adLockOptimistic
  6.       'rst.MoveLast     'get RecordCount
  7.       Set ExecuteSQL = rst
  8.       MsgString = "查询到" & rst.RecordCount & _
  9.          " 条记录 "
  10.    End If
复制代码

否则(即查询为 select 这种可以返回数据的语句)显示所有查询到的数据

具体VB中的ADODB.Connection 怎么用我就不清楚了,没学过……
如果是看不明白SQL语句

不知是不是废话……

PS:VB不难,找本好书应该轻易就能明白了
再PS:楼主是不是做课程设计要用这些?
如果是这样的话建议查下SQL相关书书籍
回复

使用道具 举报

 楼主| 发表于 2007-1-8 22:32 | 显示全部楼层
谢谢楼上了
不过时间紧急啊~~
明天就检查了~
再衷心感谢一次~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-31 04:28

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表