Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменить тип поля в курсоре / 5 сообщений из 5, страница 1 из 1
04.12.2008, 17:51
    #35694528
pitermax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить тип поля в курсоре
при создании курсора полю был присвоен тип numeric , а надо изменить на character.
Либо добавить столбец. Пробовал Alter table, но fox выдал ошибку.
Поможите пожалуйста.
...
Рейтинг: 0 / 0
04.12.2008, 18:11
    #35694574
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить тип поля в курсоре
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
create cursor tt (rr i)

insert into tt values ( 144 )

select ltrim(str(rr))+"   " as rr ;
	from tt ;
	into cursor tt readwrite 
	
messagebox(type("tt.rr"))
	
...
Рейтинг: 0 / 0
04.12.2008, 20:34
    #35694829
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить тип поля в курсоре
pitermaxпри создании курсора полю был присвоен тип numeric , а надо изменить на character.
Либо добавить столбец. Пробовал Alter table, но fox выдал ошибку.
Поможите пожалуйста.

Вариант 1.

Перед ALTER TABLE надо переоткрыть курсор под новым именем, примерно так:

select * from Table into curs Cur1

use dbf('Cur1') in 0 again alias MyCursor

USE IN Cur1

А теперь модифицируй курсор так, как надо.

Вариант 2 (более вменяемый)
Например:
Есть курсор Cur1 с одним полем формата N. Вот мы этот курсор перепишем, чтобы формат изменить на строку:

select str(field1,25) as StringField from Cur1 into Cursor MyCursor

Все, в новом курсоре поле будет строковым. Причем длина поля составит 25 символов.
...
Рейтинг: 0 / 0
04.12.2008, 20:40
    #35694837
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить тип поля в курсоре
pitermaxпри создании курсора полю был присвоен тип numeric , а надо изменить на character.
Либо добавить столбец. Пробовал Alter table, но fox выдал ошибку.
Поможите пожалуйста.

Добавление нового поля, см. пример выше:

Исходный курсор имеет одно числовое поле nOldFld, а нам надо добавить три поля разных форматов (значение первого поля в символьном виде,строка, дата). Вот как можно это сделать:

select nOldFld, str(nOldFld,17,2) as StringOldFld,space(25) as StringNewFld, ctod('//') as dNewFld from Cur1 into curs MyCur
...
Рейтинг: 0 / 0
04.12.2008, 21:05
    #35694852
Изменить тип поля в курсоре
Позволю себе немного поправить. :)
select nOldFld, str(nOldFld,17,2) as StringOldFld,space(25) as StringNewFld, {} as dNewFld from Cur1 into curs MyCur
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменить тип поля в курсоре / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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