Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавить запись с пробелом в курсор / 24 сообщений из 24, страница 1 из 1
05.03.2013, 14:16
    #38174616
Новый2013
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Как добавить новую запись в курсор после 3-й записи
Такое написал не добавляется

Код: sql
1.
2.
3.
4.
SELECT * FROM Vrem INTO CURSOR CursVrem READWRITE 
GO 3
APPEND BLANK
REPLACE CursVrem.id WITH ' '
...
Рейтинг: 0 / 0
05.03.2013, 14:23
    #38174628
Новый2013
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Добавляется, только походу в конец. А как в указанное место добавить?
...
Рейтинг: 0 / 0
05.03.2013, 14:29
    #38174636
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
если надо чтобы показывалось в нужном месте, то индекс создать:
Код: sql
1.
index on ... tag ...


если именно исходный порядок сменить, то пересоздать курсор
Код: sql
1.
select * FROM CursVrem INTO CURSOR CursVrem READWRITE order by ...


в обоих случаях происходит сортировка, поэтому надо подгадать чтоб запись стала третьей после сортировки.
...
Рейтинг: 0 / 0
05.03.2013, 16:19
    #38174848
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Новый2013Как добавить новую запись в курсор после 3-й записи
Такое написал не добавляется

Код: sql
1.
2.
3.
4.
SELECT * FROM Vrem INTO CURSOR CursVrem READWRITE 
GO 3
APPEND BLANK
REPLACE CursVrem.id WITH ' '

Так прокатит?
Код: sql
1.
2.
3.
SELECT * FROM Vrem INTO CURSOR CursVrem WHERE RECNO()<3
INSERT INTO CursVrem ( id ) VALUES(' ')
APPEND FROM Vrem FOR RECNO('Vrem')>2
...
Рейтинг: 0 / 0
05.03.2013, 18:56
    #38175123
Reese
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Новый2013,

А почему именно 3-ей?
И вообще, это не очень хороший метод.
Если надо для отображения - то можно добавить колонку по которой определять порядок и по ней построить индекс.
При добавлении нужно добавить +1 в эту колонку для записей со значением равным или больше указанного. Потом добавляем новую запись с указанным номером.
...
Рейтинг: 0 / 0
06.03.2013, 17:41
    #38176425
Людмila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Встаем на 2-ю запись
Go 2
создаем 3-ю запись
Insert after blank
...
Рейтинг: 0 / 0
06.03.2013, 18:04
    #38176471
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Людмila

Это пример того, как НЕ НАДО делать! Ни в коем случае! Все-таки, надо понимать ЧТО и КОМУ советовать! Это команда для очень понимающего программиста. Новичку даже знать о ней не положено. Я серьезно...

Штатный механизм упорядочивания записей - сортировка. Либо через индекс, либо через перезаполнение таблицы. Именно это все и предлагают. А советовать команды, оставленные для обратной совместимости - это создавать проблемы на ровном месте.
...
Рейтинг: 0 / 0
06.03.2013, 18:20
    #38176497
Людмila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Возможно, возможно, возможно!
но это всего лишь механизм
Я сама ни разу не нуждалась вставить именно 3-ю (или какую ещё) строку. Даже не могу смоделировать для чего это нужно.
Поэтому с проблемами и не сталкивалась.
...
Рейтинг: 0 / 0
06.03.2013, 19:39
    #38176578
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Людмila Insert after blank
Это работает только на таблицах без индексов и/или буферизации. Нездоровое решение.
...
Рейтинг: 0 / 0
07.03.2013, 11:18
    #38177011
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
ЛюдмilaВозможно, возможно, возможно!
но это всего лишь механизм
Я сама ни разу не нуждалась вставить именно 3-ю (или какую ещё) строку. Даже не могу смоделировать для чего это нужно.
Поэтому с проблемами и не сталкивалась.
Подобный вопрос возникает у людей, которые вообще не работали с базами данных. Они относятся к таблицам как к листу Excel. Соответственно и пытаются работать "как с Excel". А это в корне неверный подход. Поэтому советовать на этом этапе обучения команды, которые в приципе способны симулировать подобный механизм - это заведомо вводить в заблуждение. Новичек лишь уверится в том, что его подход правильный, надо лишь кое-какие команды узнать. А это, в свою очередь, приведет к эскалации проблем. Ведь новичек и дальше будет пытаться работать "как с Excel".

И еще раз обращаю внимание на то, что в HELP эта команда указана только для обратной совместимости. Уже в версии FPD2.6 - для обратной совместимости. Т.е. сами разработчики FoxPro считают, что ее лучше не использовать. Зачем же советовать новичку заведомо устаревшие приемы?
...
Рейтинг: 0 / 0
07.03.2013, 17:55
    #38177646
Людмila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Да ладно, я всё поняла.
Обещаю впреть быть осмотрительней относительно, как оказалось злонамеренных советов.
Кстати, несмотря на наличие собственных проектов отношу себя тоже к новечкам.
Так и есть. получается - 50% скидка, а с учетом 8 марта - вообще.
...
Рейтинг: 0 / 0
07.03.2013, 19:51
    #38177745
Добавить запись с пробелом в курсор
Эх вы...там даже досовские команды интерфейса должны работать. Для обратной совместимости. В 7-ой работали..
...
Рейтинг: 0 / 0
07.03.2013, 19:55
    #38177748
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
жизньзаселедкуЭх вы...там даже досовские команды интерфейса должны работать. Для обратной совместимости. В 7-ой работали..
В угоду обратной совместимости много чего сделано... Хорошо хоть безусловного перехода (GOTO) в фоксе никогда не было, иначе эта фишка ассемблера много бы дров наломала.
...
Рейтинг: 0 / 0
07.03.2013, 19:58
    #38177752
Добавить запись с пробелом в курсор
Dima T,

Зато там есть Go. Только такой не имеющий вкуса, креативный лох как Дейкстра, смог так запудрить народу мозги относительно Goto. Отдаленным последствием этого является невостребованность FoxPro. :)
...
Рейтинг: 0 / 0
07.03.2013, 20:00
    #38177754
Добавить запись с пробелом в курсор
А кто-нибудь пробовал засандалить ДОС-подобный интерфейс в главном окне?
...
Рейтинг: 0 / 0
07.03.2013, 20:13
    #38177764
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
жизньзаселедкуА кто-нибудь пробовал засандалить ДОС-подобный интерфейс в главном окне?
Зачем эмулировать FPD? Это проще на нем сделать. DoxBox в помощь.
...
Рейтинг: 0 / 0
07.03.2013, 20:19
    #38177767
Добавить запись с пробелом в курсор
Dima T,

Зачем спрашивать зачем? Я даже в JavaScript-e сымулировал..) Привычка...
...
Рейтинг: 0 / 0
07.03.2013, 20:24
    #38177770
Добавить запись с пробелом в курсор
Думаю провести тотальное обследование VFP на предмет совместимости с FPD )
...
Рейтинг: 0 / 0
07.03.2013, 20:51
    #38177784
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
жизньзаселедкуДумаю провести тотальное обследование VFP на предмет совместимости с FPD )Достаточно одной таблэтки... В том смысле, что достаточно английскую версию хелпа прошерстить - там имеются указания на то, с какой именно версии VFP данная команда/опция действует.
...
Рейтинг: 0 / 0
07.03.2013, 21:33
    #38177796
Добавить запись с пробелом в курсор
AndreTM,

Сомневаюсь, что это колесо настолько галлюциногенно, чтоб дать представление о внешнем виде поповского pulldown-меню:
авторSET TALK OFF
SET MESSAGE TO 20
DIMENSION a(4,2)
a(1,1)='ДИСК'
a(2,1)='ОБРАБОТКА'
a(3,1)='ДАННЫЕ'
a(4,1)='КОНЕЦ'
a(1,2)='РАБОТА С ДИСКОМ'
a(2,2)='ВЫЧИСЛЕНИЯ И ПОИСК'
a(3,2)='РАБОТА С БАЗОЙ'
a(4,2)='ВЫХОД В ДОС'
DIMENSION b(2)
b(1)='запись'
b(2)='копирование'
dimension c(3)
c(1)='итоги'
c(2)='среднее'
c(3)='сортировка'
DIMENSION d(5)
d(1)='дополнение'
d(2)='редактирование'
d(3)='\-'
d(4)='удаление'
menu bar a,4
menu 1,b,2
menu 2,c,3
menu 3,d,4
g=3
v=2
DO WHILE .T.
READ menu bar to g,v
DO case
CASE g=4
CANCEL
ENDCASE
enddo
...
Рейтинг: 0 / 0
11.03.2013, 05:40
    #38179296
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
ВладимирМПодобный вопрос возникает у людей, которые вообще не работали с базами данных. Они относятся к таблицам как к листу Excel. Соответственно и пытаются работать "как с Excel". А это в корне неверный подход....
Сколько людей столько точек зрения.., команда очень нужная, жаль что не всегда работает(уже это обсуждалось ( http://www.sql.ru/forum/actualthread.aspx?tid=999716)...), тут может команда нужна не для работы с базой данной, а о подготовке таблицы отчета в тот же Excel. Ясно что copy to XLS, команда моментальная, а работа из фокса с классами Excel (.value=...) не очень, поэтому стараешься всю таблицу сформировать в фоксе, и заголовки и групировки и т.д., а потом copy to XLS, останется только разукрашивание и форматирование... вот и приходится разбивать таблицу(copy next) склеивать(append from) индексировать и очень сожалеть что команда insert только для совместимости...
...
Рейтинг: 0 / 0
11.03.2013, 06:48
    #38179302
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
q1w1e1 вот и приходится разбивать таблицу(copy next) склеивать(append from) индексировать и очень сожалеть что команда insert только для совместимости...
Проблема легко решаемая. Если нужна экзотическая сортировка: делаешь выборку в курсор с добавлением поля с порядком записей (например cOrder), заполняешь его, а затем:
Код: sql
1.
select * from MyCursor into cursor MyCursor order by cOrder


Хотя в большинстве случаев для сортировки вполне достаточно данных которые уже есть в курсоре.
...
Рейтинг: 0 / 0
11.03.2013, 07:13
    #38179312
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
согласен, у каждого своя отработанная технология "экзотической", декоротивной и т.д. сортировки подготовки и т.д. данных для визуализации, дело "вкуса", а о вкусах не спорят..:-)
...
Рейтинг: 0 / 0
11.03.2013, 13:00
    #38179735
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить запись с пробелом в курсор
Дело не вкуса, а технической грамотности.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавить запись с пробелом в курсор / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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