powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ORACLE->VFP
6 сообщений из 6, страница 1 из 1
ORACLE->VFP
    #34125817
Tucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется VisualFoxpro 9 при запросе к Ораклу через ODBC поля типа varchar2 имеющиеся в таблице, в курсоре получаются типа Memo. А хотелось бы типа char(254). Если делать запрос через RemoteView то там можно изменить DBSetProp(ThisView+".myfield","Field","DataType","C(254)") DataType, но, как я понял, сложные запросы с большим количеством подзапросов там построить не удастся. Кто и как решает данную проблему? Спасибо!
...
Рейтинг: 0 / 0
ORACLE->VFP
    #34125828
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внимательно посмотреть в сторону курсор-адаптера.
...
Рейтинг: 0 / 0
ORACLE->VFP
    #34125872
TuchaИмеется VisualFoxpro 9 при запросе к Ораклу через ODBC поля типа varchar2 имеющиеся в таблице, в курсоре получаются типа Memo. А хотелось бы типа char(254). Если делать запрос через RemoteView то там можно изменить DBSetProp(ThisView+".myfield","Field","DataType","C(254)") DataType, но, как я понял, сложные запросы с большим количеством подзапросов там построить не удастся. Кто и как решает данную проблему? Спасибо!
Вот, что написано в документации:
VARCHAR2 Datatype
The VARCHAR2 datatype specifies a variable-length character string. When you create a VARCHAR2 column, you supply the maximum number of bytes or characters of data that it can hold. Oracle subsequently stores each value in the column exactly as you specify it, provided the value does not exceed the column's maximum length. If you try to insert a value that exceeds the specified length, Oracle returns an error.

You must specify a maximum length for a VARCHAR2 column. This maximum must be at least 1 byte, although the actual length of the string stored is permitted to be zero. Oracle treats zero-length strings as nulls. You can use the CHAR qualifier, for example VARCHAR2(10 CHAR), to give the maximum length in characters instead of bytes. A character is technically a codepoint of the database character set. CHAR and BYTE qualifiers override the setting of the NLS_LENGTH_SEMANTICS parameter, which has a default of bytes. The maximum length of VARCHAR2 data is 4000 bytes. Oracle compares VARCHAR2 values using nonpadded comparison semantics.

Т.е. поле типа vrachar2 может быть длиной от 0 до 4000 символов, а ты хочешь его искуственно ограничить 254-мя... Ну, так используй функцию, реализующую это... ИМХО, ODBC-драйвер делает более правильно...
...
Рейтинг: 0 / 0
ORACLE->VFP
    #34125992
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если все хочешь резать, то надо использовать CursorAdapter. Ставишь нужную тебе структуру в CursorScheme и все тип-топ.
...
Рейтинг: 0 / 0
ORACLE->VFP
    #34126247
Tucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав! Большое спасибо за подсказку, твое решение самое разумное! Удивляюсь, что сам до этого не додумался!
...
Рейтинг: 0 / 0
ORACLE->VFP
    #34139102
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TuchaИмеется VisualFoxpro 9 при запросе к Ораклу через ODBC поля типа varchar2 имеющиеся в таблице, в курсоре получаются типа Memo. А хотелось бы типа char(254). Если делать запрос через RemoteView то там можно изменить DBSetProp(ThisView+".myfield","Field","DataType","C(254)") DataType, но, как я понял, сложные запросы с большим количеством подзапросов там построить не удастся. Кто и как решает данную проблему? Спасибо!

я это делаю так:

Код: plaintext
1.
thisform.sqlconnector1.csqlstring = ;
"SELECT SUBSTR(a.MyLongVarcharField, 1 , 200 ) AS REPORT.........

А, если потом нужно непременно видеть ВСЕ содержимое того поля - то в Эдитбокс его....
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ORACLE->VFP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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