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