Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / кодовые страницы / 7 сообщений из 7, страница 1 из 1
15.10.2004, 08:52
    #32739632
uho
uho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
Кодовая страница проекта 1251. Результат запроса помещается в таблицу. Необходимо,чтобы она была в 866 кодировке. Как это сделать, не используя COPY TO ... AS 866
...
Рейтинг: 0 / 0
15.10.2004, 09:01
    #32739647
AlikWishin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
Есть функция cpconvert() посмотри ее!
...
Рейтинг: 0 / 0
15.10.2004, 09:06
    #32739657
Dushes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
Немного непонятен вопрос - если нужно переконвертить построчно, тогда можно смотреть в сторону cpconvert, ansitoeom() (обратно oemtoansi()).....Если же нужно работать с набором данных, тогда через
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Creates a new file from the contents of the currently selected table.

COPY TO FileName [DATABASE DatabaseName [NAME LongTableName]]
   [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
   [Scope] [FOR lExpression1] [WHILE lExpression2] 
   [ [WITH] CDX ] | [ [WITH] PRODUCTION ] [NOOPTIMIZE] 
   [ [TYPE] [ FOXPLUS | FOX2X | DIF | MOD | SDF | SYLK | WK1 | WKS | WR1
   | WRK | CSV | XLS | XL5 | DELIMITED [ WITH Delimiter | WITH BLANK 
   | WITH TAB | WITH CHARACTER Delimiter ] ] ] [AS nCodePage]

, а также EXPORT....Если жу нужно получать уже сконвертированные данные со стороны самого сервера, то тут уж все зависит от самого диалекта SQL - нужно саомтреть строковые функции и пр...
С уважением
duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)
...
Рейтинг: 0 / 0
15.10.2004, 14:34
    #32740538
uho
uho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
DushesНемного непонятен вопрос - если нужно переконвертить построчно, тогда можно смотреть в сторону cpconvert, ansitoeom() (обратно oemtoansi()).....Если же нужно работать с набором данных, тогда через
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Creates a new file from the contents of the currently selected table.

COPY TO FileName [DATABASE DatabaseName [NAME LongTableName]]
   [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
   [Scope] [FOR lExpression1] [WHILE lExpression2] 
   [ [WITH] CDX ] | [ [WITH] PRODUCTION ] [NOOPTIMIZE] 
   [ [TYPE] [ FOXPLUS | FOX2X | DIF | MOD | SDF | SYLK | WK1 | WKS | WR1
   | WRK | CSV | XLS | XL5 | DELIMITED [ WITH Delimiter | WITH BLANK 
   | WITH TAB | WITH CHARACTER Delimiter ] ] ] [AS nCodePage]

, а также EXPORT....Если жу нужно получать уже сконвертированные данные со стороны самого сервера, то тут уж все зависит от самого диалекта SQL - нужно саомтреть строковые функции и пр...


Мне бы не хотелось использовать Copy to, т.к. тогда придется создавать временную таблицу...
Можно ли в SQL запросе сразу конвертить строки CPCONVERT()?
Код выгдядит так
доливаю данные в таблицу А из массива таблиц m[k]
for k=1 to nCount Step 2
select поля from A Union select поля from m[k] into table B
select поля from B Union select поля from m[k+1] into table A
Next
Исходная и результирующая таблица - А
Подскажите пожалуйста, как быть с конвертацией?
Заранее спасибо.
...
Рейтинг: 0 / 0
15.10.2004, 14:48
    #32740580
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
Использовать-то можно, но возни больно много.

-) Каждое символьное поле должно быть пропущено через CPCONVERT()
-) Я так понимаю, что речь идет о формате Fox2x, а в нем еще не существовали ряд типов данных (Integer, Currency, DateTime), т.е. надо позаботится о конвертации этих типов
-) В результате всех этих наворотов ты получишь таблицу в кодовой странице 1251, но содержимое текстовых полей записано в кодовой странице 866, т.е. надо будет ручками подправить 29 байт заголовка.

А оно тебе надо?

Насчет дополнительной таблицы... Так можно же создавать курсор.

SELECT ... INTO CURSOR cur1251 NOFILTER
select cur1251
COPY TO tab866 TYPE Fox2x AS 866
...
Рейтинг: 0 / 0
15.10.2004, 15:07
    #32740630
uho
uho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
ВладимирМ
не получается в курсор!
Там два последовательных запроса...
Источник - таблица, которая пополняется. Она же и результат..
Таблица огромная, и делать 2 копии в разных кодировках как-то мне не хочется.
Есть ли выход или придется выкручиваться с созданием-удалением временных таблиц?
...
Рейтинг: 0 / 0
15.10.2004, 15:11
    #32740645
uho
uho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кодовые страницы
ВладимирМ


Ой, вот написала и поняла, что Вы имели ввиду,надо сделать еще один
Select из результирующей таблицы в курсор
и его уже Copy to as 866
спасибо!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / кодовые страницы / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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