我的數據庫中有一個logTable用於someTable上的日誌更改。將字節數組轉換爲vbscript中的字符串值
logTable有三列:
第一爲其值變爲存儲列名;舊價值爲
秒;
第三次獲得新價值。
第二列和第三列具有sql_variant數據類型。
在我的程序中,我從這個表中獲取數據,oldValue和newValue是一個字節數組。
例如:
行中logTable:
columnName(nvarchar(50)) oldValue(sql_variant) newValue(sql_variant)
compName name1 name2
address "address1" "address2"
zip 123 134
phone 123456789 987654321
但我得到字節數組的屬性oldValue和NEWVALUE值。
像:
address "byte array" "byte array"
zip "byte array" "byte array"
phone "byte array" "byte array"
代替:
address "address1" "address2"
zip 123 134
phone 123456789 987654321
此代碼,我用它來從數據庫獲取數據:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open connStr
Set rsData = Server.CreateObject("ADODB.Recordset")
Set objComm = Server.CreateObject("ADODB.Command")
Set objComm.ActiveConnection= Conn
objComm.CommandText="usp_Log_GetOperationDetails"
objComm.CommandType = adCmdStoredProc
objComm.Parameters.Append objComm.CreateParameter("@CompanyId",adInteger,adParamInput)
objComm.Parameters("@CompanyId")=Request("CompanyId")
objComm.Parameters.Append objComm.CreateParameter("@tableName",adVarChar,adParamInput, 50)
objComm.Parameters("@tableName")=Request("tableName")
rsData.CursorLocation = adUseClient
rsData.CursorType = adOpenStatic
Set rsData.Source = objComm
rsData.Open
If NOT rsData.EOF AND NOT rsData.BOF then
Do While NOT rsData.EOF
rsDataOldValue = rsData("OldValue")
rsDatanewValue = rsData("NewValue")
rsData.MoveNext
Loop
End If
rsData.Close
Set rsData = Nothing
Conn.Close
Set Conn = Nothing
Set objComm = Nothing
我如何可以轉換字節數組正確的字符串值?
謝謝
你能證明你用它來獲得'newValue'和'oldValue'的代碼?我真的不明白你期望得到什麼以及你實際得到什麼 – 2011-03-31 12:45:31
你能顯示VarType(rsDataOldValue)的結果嗎?如果它是一個數組,它應該是> 8192 – renick 2011-03-31 15:22:14