Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление поля в курсор / 10 сообщений из 10, страница 1 из 1
20.12.2012, 09:15
    #38086197
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
Как добавить символьное поле длиной 10 в уже существующий курсор?
...
Рейтинг: 0 / 0
20.12.2012, 09:22
    #38086201
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
При создании с другими полями написал " " as pri поле добавилось но оно слишком маленькое :)) т. .к я формирую отчет на основании этого курсора нужно более длинное поле делать..а так как я понял создается поле типа numeric. как символьное сделать
...
Рейтинг: 0 / 0
20.12.2012, 09:22
    #38086203
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
вопрос закрыт. получилось
...
Рейтинг: 0 / 0
24.01.2013, 14:30
    #38123216
mosalova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
А у меня похожая проблема - Обрезает данные символьного поля

есть таблица таб2 с 4 полями: налномер, фамилия c(30),имя c(30),отчество c(30)

написала функцию, которая объединяет поля: фамилия,имя,отчество в одну строку

Код: sql
1.
2.
3.
4.
5.
Function JoinField (lastName, firstName, fatherName) 
	LOCAL fullName as Character
	
	fullName = ALLTRIM(lastName) + ' ' + ALLTRIM(firstName) + ' ' + ALLTRIM(fatherName)
RETURN fullName



А далее выборка в курсор

Код: sql
1.
SELECT налномер, JoinField (фамилия,имя,отчество) AS fio FROM tab2 INTO CURSOR FullFio



При отладке переменная fullName - содержит всю информацию, например:
АБРАМОВА НАТАЛЬЯ АЛЕКСАНДРОВНА
А после SELECT, командой BROWSE и при передаче данных в объект Grid выводится:
АБРАМОВА НАТАЛЬЯ АЛЕКСАНДР - ровно 26 символов.

Поставила перед SELECT команду
CREATE CURSOR FullFio (fio c(80), nalnom c(10))

не помогло. Подскажите, что я сделала не так?
...
Рейтинг: 0 / 0
24.01.2013, 14:38
    #38123233
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
mosalovaПодскажите, что я сделала не так?Не указали в селекте фиксированную размерность получаемого результата переменной длины. В следствие чего при нулевом прогоне селекта был выбран размер по первой попавшейся информации, которая оказалась меньше нужной.

Код: sql
1.
SELECT налномер, padr(JoinField (фамилия,имя,отчество), 80) AS fio FROM tab2 INTO CURSOR FullFio


Предварительное создание курсора бессмысленно ибо курсор пересоздается.
...
Рейтинг: 0 / 0
24.01.2013, 14:41
    #38123238
Penner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
fullName = padr (ALLTRIM(lastName) + ' ' + ALLTRIM(firstName) + ' ' + ALLTRIM(fatherName))
...
Рейтинг: 0 / 0
24.01.2013, 14:42
    #38123243
Penner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
PennerfullName = padr (ALLTRIM(lastName) + ' ' + ALLTRIM(firstName) + ' ' + ALLTRIM(fatherName),92)
...
Рейтинг: 0 / 0
24.01.2013, 14:44
    #38123251
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
Код: sql
1.
SELECT налномер, cast(JoinField (фамилия,имя,отчество) as c(100)) AS fio FROM tab2 INTO CURSOR FullFio
...
Рейтинг: 0 / 0
24.01.2013, 14:44
    #38123252
mosalova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
Sergey Sizov,

Спасибо. я сейчас пробовала вариант
Код: sql
1.
2.
SELECT налном, ALLTRIM(фамилия) + ' ' + ALLTRIM(имя) + ' ' + ALLTRIM(отчество) AS fio;
		FROM таб2 INTO CURSOR FullFio



и сработало нормально, но благодаря вашему объяснению хоть поняла в чем ошибка
...
Рейтинг: 0 / 0
24.01.2013, 21:55
    #38123897
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление поля в курсор
mosalovaи сработало нормально
Слегка повезло! А в другом случае снова порежет!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление поля в курсор / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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