|
|
|
ORACLE->VFP
|
|||
|---|---|---|---|
|
#18+
Имеется VisualFoxpro 9 при запросе к Ораклу через ODBC поля типа varchar2 имеющиеся в таблице, в курсоре получаются типа Memo. А хотелось бы типа char(254). Если делать запрос через RemoteView то там можно изменить DBSetProp(ThisView+".myfield","Field","DataType","C(254)") DataType, но, как я понял, сложные запросы с большим количеством подзапросов там построить не удастся. Кто и как решает данную проблему? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 09:41 |
|
||
|
ORACLE->VFP
|
|||
|---|---|---|---|
|
#18+
Внимательно посмотреть в сторону курсор-адаптера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 09:45 |
|
||
|
ORACLE->VFP
|
|||
|---|---|---|---|
|
#18+
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-драйвер делает более правильно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 09:57 |
|
||
|
ORACLE->VFP
|
|||
|---|---|---|---|
|
#18+
Если все хочешь резать, то надо использовать CursorAdapter. Ставишь нужную тебе структуру в CursorScheme и все тип-топ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 10:24 |
|
||
|
ORACLE->VFP
|
|||
|---|---|---|---|
|
#18+
Станислав! Большое спасибо за подсказку, твое решение самое разумное! Удивляюсь, что сам до этого не додумался! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 11:17 |
|
||
|
ORACLE->VFP
|
|||
|---|---|---|---|
|
#18+
TuchaИмеется VisualFoxpro 9 при запросе к Ораклу через ODBC поля типа varchar2 имеющиеся в таблице, в курсоре получаются типа Memo. А хотелось бы типа char(254). Если делать запрос через RemoteView то там можно изменить DBSetProp(ThisView+".myfield","Field","DataType","C(254)") DataType, но, как я понял, сложные запросы с большим количеством подзапросов там построить не удастся. Кто и как решает данную проблему? Спасибо! я это делаю так: Код: plaintext 1. А, если потом нужно непременно видеть ВСЕ содержимое того поля - то в Эдитбокс его.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 12:44 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34125828&tid=1590362]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 502ms |

| 0 / 0 |
