получить значение поля метки времени с помощью adodb - как прочитать байтовый массив из классического ASP - PullRequest
0 голосов
/ 27 мая 2009

Я работаю с asp и adodb, запрашиваю базу данных (ms sql 2005)

У меня есть поле с именем stamp, типа timestamp

в asp я получаю следующее

field.ActualSize: 8 field.DefinedSize: field.Name: Stamp field.Type: adBinary (128)

поле. Атрибуты: 528 (adFldFixed (16) + adFldRowVersion (512)) (поэтому adFldLong НЕ включен, поэтому я не могу использовать метод getchunk!) http://msdn.microsoft.com/en-us/library/ms676678(VS.85).aspx

В отладчике, если я ввожу field.value, я получаю следующее

? field.value
{...}
    (0): 0
    (1): 0
    (2): 0
    (3): 0
    (4): 0
    (5): 35
    (6): 163
    (7): 124

Это то, что я хочу получить !!!! но я не знаю, как это сделать ...

Я могу присвоить его переменной, но не могу получить каждый элемент

Я пытался с

? cstr( field.value )
""
? field.value(0)
Número de argumentos erróneo o asignación de propiedad no válida: 'field.value'

(неверное количество аргументов)

? vartype( field.value )
8209 ( 8192-vbArray + 17-vbByte )

Итак, проблема в том, что у меня есть массив байтов, ну как мне его прочитать ???

1 Ответ

0 голосов
/ 27 мая 2009

ну, я нашел это ...

http://www.ureader.com/msg/16755039.aspx

Я должен был использовать

h = hex (ascb (midb (barray, c, 1)))

чтобы преобразовать его в шестнадцатеричный код ...

поэтому я сделал что-то вроде этого

    s = ""

    for c = lbound( barray ) + 1 to ubound( barray ) + 1
        h = hex( ascb( midb( barray, c, 1 ) ) )
        h = padl( h, 2, "0" )
        s = s & h & " "
    next
...