powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / String -> Character
6 сообщений из 6, страница 1 из 1
String -> Character
    #32408545
HelpNeeded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
От Web-службы фокс 8 получает Dataset. Web-служба написана на VB.NET, возвращает результаты запроса к SQL Server. Поля SQL Server типа VARCHAR в Dataset пишутся как String. Фокс этот тип данных грузит в свой курсор и выдает MEMO-поле. Похоже, он считает, что длина типа данных String больше 255, поскольку в Dataset длина вообще не указана. Вопрос стандартный: как лечить? :)
...
Рейтинг: 0 / 0
String -> Character
    #32408760
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT PADR(FieldName, 254) AS FieldName FROM CursorName
не подойдет?
...
Рейтинг: 0 / 0
String -> Character
    #32408776
HelpNeeded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2NNN

Да в принципе можно использовать и LEFT(). Только это что-ж, мало того, что из Dataset перегружаем все в фоксовые курсоры, так еще и из курсоров в другие курсоры перекачивать?
...
Рейтинг: 0 / 0
String -> Character
    #32408780
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с web-сервисами не работал, поэтому не знаю, можно ли заранее указать тип поля, как например для Remote View через DBSETPROP(). Каков механизм создания и заполнения курсора?
...
Рейтинг: 0 / 0
String -> Character
    #32408851
HelpNeeded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LPARAMETERS txXML,toSchema,lnBuffering
LOCAL i As Integer
LOCAL llSuccess As Boolean
LOCAL loXMLAdapter,lcAlias,loException,lcErrorMsg

llSuccess=.T.

*Создание курсоров из таблиц Dataset.
TRY
loXMLAdapter=CREATEOBJECT("XMLAdapter")
IF VARTYPE(txXML)="O" AND VARTYPE(toSchema)="O"
loXMLAdapter.Attach(txXML,toSchema)
ELSE
llSuccess=.F.
ENDIF
*Создание курсоров из XML Dataset Tables Collection.
IF llSuccess
IF loXMLAdapter.Tables.Count>0
FOR i=1 TO loXMLAdapter.Tables.Count
lcAlias=loXMLAdapter.Tables.Item(i).Alias
IF USED(lcAlias)
USE IN (lcAlias)
ENDIF
loXMLAdapter.Tables.Item(i).ToCursor()
IF VARTYPE(lnBuffering)='N'
IF INLIST(lnBuffering,3,5)
SELECT(lcAlias)
CURSORSETPROP ("Buffering",lnBuffering)
GO TOP
ENDIF
ENDIF
ENDFOR
ELSE
llSuccess=.F.
ENDIF
ENDIF
CATCH TO loException
llSuccess=.F.
lcErrorMsg="Метод CreateCursorFromXML: "+TRANSFORM(loException.Errorno)+" - "+loException.Message
=MESSAGEBOX(lcErrorMsg,MB_OK+MB_ICONEXCLAMATION+MB_DEFBUTTON1,THISFORM.Caption)
ENDTRY
RELEASE loXMLAdapter

RETURN llSuccess
...
Рейтинг: 0 / 0
String -> Character
    #32408865
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО перед
loXMLAdapter.Tables.Item(i).ToCursor()
надо установить для полей нужный тип. Глянь в хелпе про XMLField.DataType и Visual FoxPro and XML Schema Data Type Mapping.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / String -> Character
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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