Option Explicit
Private Sub Command1_Click() Dim objcnn As ADODB.Connection Dim strTmp As String Dim objRst As New ADODB.Recordset Dim strSQL As String Set objcnn = New ADODB.Connection With objcnn .ConnectionString = "Provider=SQLOLEDB;Data source=192.168.8.249;Database=PA;Uid=sa;Pwd=kicpassword" .Open End With 'FTimeStamp 为timestamp类型的字段 objRst.Open "Select Top 1 FTimeStamp From M_Batch01",objcnn,adOpenStatic,adLockReadOnly If Not objRst.EOF Then '先取得查询到的时间戳 strTmp = TimestampToString(objRst.Fields("FTimeStamp")) MsgBox strTmp '进行更新,注意更新条件里加了时间戳(主要用来处理并发使用,防止更新的时候记录被其他用户修改) strSQL = "Update m_batch01 set IsExportToK='Y' Where batchid=1882 and FTimeStamp=" & strTmp objcnn.Execute strSQL MsgBox "OK" End If End Sub
'转换函数 Private Function TimestampToString(RsCol As ADODB.Field) As String Dim Buffer As String Dim i As Integer Buffer = "0x" For i = 1 To 8 Buffer = Buffer & Right("00" & Hex(AscB(MidB(RsCol,i,1))),2) Next i TimestampToString = Buffer End Function (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|