someTable의 로그 변경 사항에 대한 데이터베이스에 logTable이 있습니다.바이트 배열을 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
내가 DB에서 데이터를 가져 오기 위해 사용이 코드 :
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'를 얻기 위해 사용하는 코드를 표시 할 수 있습니다 시도 테스트하려면? 나는 당신이 얻고 자하는 것을 실제로 이해하지 못합니다. –
VarType (rsDataOldValue)의 결과를 보여줄 수 있습니까? 배열 인 경우> 8192 – renick