main.bas
上传用户:dszmning
上传日期:2022-02-19
资源大小:129k
文件大小:3k
源码类别:

百货/超市行业

开发平台:

Visual Basic

  1. Attribute VB_Name = "main1"
  2. Public POSID As Integer     'POS机编号
  3. Public strSaleID As String '单号
  4. Public strSMName As String  '超市名称
  5. Public strAddress As String     '超市地址
  6. Public strTele  As String   '超市电话
  7. Public strPOST As String    '邮编
  8. Public UserName As String    '当前用户名
  9. Public UserStyle As Long    '当前用户类型
  10. Dim cnn As ADODB.Connection
  11. Public Sub Main() '程序入口
  12.     App.Title = "超市POS系统"
  13.     ReadInf
  14.     frmLogin.Show
  15. End Sub
  16. Public Sub ReadInf() '获取POS机配信息
  17.     Dim strTmp As String, str1() As String
  18.     On Error GoTo err1  '错误处理
  19.     Open App.Path & "DATAbase.inf" For Input As #1    '打开文件
  20.     If Not EOF(1) Then  '若文件未结束
  21.         Line Input #1, strTmp   '读入一行内容
  22.     End If
  23.     Close #1    '关闭打开的文件
  24.     strTmp = Trim(strTmp)   '去掉尾部空格
  25.     If strTmp <> "" Then    '若字符串不为空
  26.         str1 = Split(strTmp, ",")   '将字符串分解为数组
  27.         POSID = str1(0) '将POS机序号保存到全局变量
  28.         strSaleID = POSID & Format(str1(1), "0000000") '由POS机号作第1位生成销售单编号
  29.     End If
  30.     Exit Sub
  31. err1:
  32.     POSID = 1   '设置为1号POS机
  33.     strSaleID = POSID & Format(1, "0000000") ' '由POS机号作第1位
  34. End Sub
  35. Private Sub Connect() '连接数据库
  36.     If IsConnect = True Then  '如果连接标记为真,则返回。否则会出错
  37.         Exit Sub
  38.     End If
  39.    
  40.     On Error GoTo DbOpenErr
  41.     Set cnn = New ADODB.Connection '关键New用于创建新对象cnn
  42.        With cnn
  43.         .Provider = "sqloledb"
  44.         .ConnectionString = "data source=.;initial catalog=SuperMarket;user id=sa;password=;"
  45.         .ConnectionTimeout = 10
  46.         .Open
  47.     End With
  48.     IsConnect = True  '设置连接标记,表示已经连接到数据库
  49.     Exit Sub
  50.     
  51. DbOpenErr:
  52.     If err = -2147467259 Then
  53.         Set cnn = Nothing
  54.         MsgBox "连接MS SQL Server数据库失败!" & vbCrLf & vbCrLf & "请检查配置是否完好,数据库SuperMarket是否存在?", vbOKOnly + vbInformation, "学籍管理系统"
  55.         End
  56.     End If
  57.     
  58. End Sub
  59. Public Sub Disconnect() '断开与数据库的连接
  60.     Dim rc As Long
  61.     If IsConnect = False Then Exit Sub '如果连接标记为假,标明已经断开连接,则直接返回
  62.     cnn.Close  '关闭连接
  63.     
  64.     Set cnn = Nothing
  65.     IsConnect = False
  66. End Sub
  67. Public Sub DB_Connect() '使用Connect_Num控制数据库连接
  68.     Connect_Num = Connect_Num + 1
  69.     Connect
  70. End Sub
  71. Public Sub DB_Disconnect()
  72.     If Connect_Num >= CONNECT_LOOP_MAX Then
  73.         Connect_Num = 0
  74.         Disconnect
  75.     End If
  76. End Sub
  77. Public Sub DBapi_Disconnect() '强制关闭api方式访问的数据库,计数器复位
  78.     Connect_Num = 0
  79.     Disconnect
  80. End Sub
  81. Public Sub SQLExt(ByVal TmpSQLstmt As String)   '执行数据库操作语句
  82.     Dim cmd As New ADODB.Command  '创建Command对象cmd
  83.     DB_Connect    '连接到数据库
  84.     Set cmd.ActiveConnection = cnn  '设置cmd的ActiveConnection属性,指定与其关联的数据库连接
  85.     cmd.CommandText = TmpSQLstmt  '设置要执行的命令文本
  86.     cmd.Execute
  87.     Set cmd = Nothing
  88.     DB_Disconnect
  89. End Sub
  90. Public Function QueryExt(ByVal TmpSQLstmt As String) As ADODB.Recordset '执行数据库查询语句
  91.     Dim rst As New ADODB.Recordset
  92.     DB_Connect    '连接到数据库
  93.     
  94.     Set rst.ActiveConnection = cnn    '设置rst的ActiveConnection属性,指定与其关联的数据库连接
  95.     rst.CursorType = adOpenKeyset
  96.     rst.LockType = adLockOptimistic   '设置锁定类型
  97.     rst.Open TmpSQLstmt    '打开记录集
  98.     Set QueryExt = rst    '返回记录集
  99. End Function