sqldata.bas

来自「考勤机的通讯程序」· BAS 代码 · 共 68 行

BAS
68
字号
Attribute VB_Name = "SQLData"
Option Explicit
'**************************************************
'为连接数据而设置的变量
Dim DEconn As KQDataDE
'************************************************8888
'为连接数据库而编辑的程序!
Public Sub conn()
  Dim sqlconnstrS As String
  Dim sqlusernameS As String
  Dim sqluserpwS As String
  Set DEconn = New KQDataDE
  sqlusernameS = Trim(FormKQ.TexUsername.Text)
  sqluserpwS = Trim(FormKQ.TexUserpw.Text)
  sqlconnstrS = "Provider=SQLOLEDB.1;Password=" + sqluserpwS + ";Persist Security Info=True;User ID=" + sqlusernameS + ";Initial Catalog=kaoqin;Data Source=WWW"
  DEconn.Con1.ConnectionString = sqlconnstrS
  DEconn.rsDataRecord.Open
End Sub
'***************************************************8888
'为关闭数据库而设置的程序!
Public Sub ColseRsDataRecord()
   DEconn.rsDataRecord.Close
End Sub
'******************************************************
'为分析考勤机传递过来的原始数据而编辑的程序!
Public Sub FenxiYuanshiData(ByVal strYuanshiData As String)
                                                       '前三位未用去掉 "k01"
        RecordData(0) = Mid(strYuanshiData, 4, 4)      '取出 年      4位
        RecordData(1) = Mid(strYuanshiData, 8, 2)      '取出 月      2位
        RecordData(2) = Mid(strYuanshiData, 10, 2)     '取出 日      2位
        RecordData(3) = Mid(strYuanshiData, 12, 2)     '取出 小时    2位
        RecordData(4) = Mid(strYuanshiData, 14, 2)     '取出 分钟    2位
        RecordData(5) = Mid(strYuanshiData, 16, 1)     '取出 批准    1位
        RecordData(6) = Mid(strYuanshiData, 17, 1)     '取出 扩展码  1位
        RecordData(7) = Mid(strYuanshiData, 18, 1)     '取出 函数    1位
        RecordData(8) = Mid(strYuanshiData, 19, 10)    '取出 卡号    10位
        SaveData RecordData
End Sub

'***************************************************8
'为保存数据到数据库而编辑的程序!
Public Sub SaveData(ByRef RecordDataSQL() As String)
  Dim RecDateTime, RecDate, RecPiZHun, RecHanSHu, RecKuZHanMa, RecKaHao As String
  On Error Resume Next
  RecDateTime = RecordDataSQL(0) + "-" + RecordDataSQL(1) + "-" + RecordDataSQL(2) + " " + RecordDataSQL(3) + ":" + RecordDataSQL(4)
  RecDate = RecordDataSQL(0) + RecordDataSQL(1)
  RecPiZHun = RecordDataSQL(5)
  RecHanSHu = RecordDataSQL(6)
  RecKuZHanMa = RecordDataSQL(7)
  RecKaHao = RecordDataSQL(8)
  DEconn.rsDataRecord.AddNew
  DEconn.rsDataRecord.Fields("记录号").Value = MaxRecord
  DEconn.rsDataRecord.Fields("日期时间").Value = RecDateTime
  DEconn.rsDataRecord.Fields("批准").Value = RecPiZHun
  DEconn.rsDataRecord.Fields("函数").Value = RecHanSHu
  DEconn.rsDataRecord.Fields("扩充码").Value = RecKuZHanMa
  DEconn.rsDataRecord.Fields("卡号").Value = RecKaHao
  DEconn.rsDataRecord.Fields("年月").Value = RecDate
  DEconn.rsDataRecord.Update
End Sub

'*****************************************************************88
'为打开数据库后取得数据库中“记录号”的最大值而编辑的程序
Public Sub GetMaxRecord()
  DEconn.rsDataRecord.MoveLast
  MaxRecord = DEconn.rsDataRecord.Fields("记录号")
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?