powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как преобразовать binary(8) ?
12 сообщений из 12, страница 1 из 1
Как преобразовать binary(8) ?
    #33904602
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем времени суток!

Помогите разобраться с проблемой:
в таблице SQL есть поле типа binary(8), при чтении таблицы в курсор адаптер поле представляется как memo. Данные из этого поля нужны для дальнейшей обработки (селест с условием по этому полю) как его преобразовать в шестнадцатеричный вид, как в sql-е?
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904659
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если vfp9 - используй CursorSchema
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904726
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-=AlexiS=-если vfp9 - используй CursorSchema
не получается. все равно показывает как мемо-поле.
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904747
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что собственно ты хотел увидеть? Абсолютное копирование поведения SQL Server? Почему ты решил, что фокс точно так же должен ОТОБРАЖАТЬ двоичные данные, как и SQL SERVER? Важно, чтоб они лежали как бинарные данные или важнО их отображение?
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904758
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящийА что собственно ты хотел увидеть? Абсолютное копирование поведения SQL Server? Почему ты решил, что фокс точно так же должен ОТОБРАЖАТЬ двоичные данные, как и SQL SERVER? Важно, чтоб они лежали как бинарные данные или важнО их отображение?
мне не нужно их отображение, нужно их дальнейшее использование в фоксе, т.е. хотелось бы преобразовать в hex или integer.
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904769
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex3399 проходящийА что собственно ты хотел увидеть? Абсолютное копирование поведения SQL Server? Почему ты решил, что фокс точно так же должен ОТОБРАЖАТЬ двоичные данные, как и SQL SERVER? Важно, чтоб они лежали как бинарные данные или важнО их отображение?
мне не нужно их отображение, нужно их дальнейшее использование в фоксе, т.е. хотелось бы преобразовать в hex или integer.
Еще напишу: из адаптера как на картинке взять id и сделать в sql еще select * from table2 where table1_id=0x8001000000000001.
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904793
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так и бери из этого мемо-поля строку, конвертируй во что надо и работай.
Или в курсор-адаптере поставь функцию конвертирования и получай уже не мемо-поле, а integer.
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904821
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящийНу так и бери из этого мемо-поля строку, конвертируй во что надо и работай.
Или в курсор-адаптере поставь функцию конвертирования и получай уже не мемо-поле, а integer.
в этом и вопрос, как преобразовать?
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904831
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CtoBin(), BinToC(), StrConvert()
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904852
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна настройка

CursorSetProp("MapBinary",.T.)

или

CursorAdapter.MapBinary = .T.

Появилась в VFP9

В противном случае, данные будут скачаны "как есть", но отображаться будут как поля Character. Это значит, что содержимое 1 байта (8 бит) будет воспринято как ASCII-код некоего символа и будет предпринята попытка этот символ отобразить.

Бинарные данные - это строка в 16-ричной системе. Т.е. 1 символ (1 байт) - это 2 символа в 16-ричной системе. Вот отсюда и соображай как перевести. Причем надо еще учитывать как читать: справа-налево или слева-направо.
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33904958
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак
Делаю таблицу

Код: plaintext
1.
2.
3.
4.
5.
create table test_bin id int f1 varbinary( 8 )
insert into test_bin (f1) values (0x0000000000000002)
insert into test_bin (f1) values (0x0000000000000003)
insert into test_bin (f1) values (0x0000000000000004)
insert into test_bin (f1) values (0x0000000000000005)

В фоксе создаю курсорадаптер
CursorSchema = F1 Q(8), ID I
UseCursorSchema= .T.
Все вроде ОК
...
Рейтинг: 0 / 0
Как преобразовать binary(8) ?
    #33905091
alex3399
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо всем откликнувшимся!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как преобразовать binary(8) ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]