FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9268
Вход
Перевод поля типа timestamp (от SQL Server) в строку

Фукнция для перевода поля типа timestamp, которое вы получили от SQL Server в строку.


 
Прислал: mr_doc   Категория: Работа с данными


Перевод поля типа timestamp (от SQL Server) в строку

Имя основной функции GetTimeStamp, а DecToHex вспомогательная, она переводит число из 10 в 16 систему счисления.
Если есть вопрсы то пишите : mr_doc11@mail.ru
Или icq: 79503410

Скачать gts.zip
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.909) Вложение [0.78]kb
Дополнения пользователей
Перевод поля типа timestamp (от SQL Server) в строку
[+][?]
Владимир Максимов
08.07.02 12:21:25

То же самое можно организовать несколько проще, причем распространив это на любое поле типа Binary
получаемое от MS SQL (тип TimeStamp в VFP интерпретируется так же как и Binary(8) в тип Memo-binary)

*/---------------------------------------------------------
* Конвертация строки типа Binary в 16-ричный вид 
* принятый в MS SQL
*/----------------------------------------------------------
FUNCTION Bin_Vfp2Sql
LPARAMETERS tcBinary
LOCAL laChar(16)

laChar[1]="0"
laChar[2]="1"
laChar[3]="2"
laChar[4]="3"
laChar[5]="4"
laChar[6]="5"
laChar[7]="6"
laChar[8]="7"
laChar[9]="8"
laChar[10]="9"
laChar[11]="A"
laChar[12]="B"
laChar[13]="C"
laChar[14]="D"
laChar[15]="E"
laChar[16]="F"

LOCAL lnI, lnOneChar, lcReturnValue
lcReturnValue = ""
FOR lnI=1 TO LEN(m.tcBinary)
	lnOneChar = ASC(SubStr(m.tcBinary,m.lnI,1))
	lcReturnValue = m.lcReturnValue + ;
		laChar(INT(m.lnOneChar/16)+1)+;
		laChar(MOD(m.lnOneChar,16)+1)
ENDFOR
IF LEN(m.lcReturnValue)>0
	lcReturnValue = "0x"+m.lcReturnValue
ENDIF

RETURN (m.lcReturnValue)
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика