|
|
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
создаю курсор create cursor my_curs1 (a c(50), b C(10), d C(50), d C(10)) есть таблица в которой все поля мемо. Из них считываю значения по строчно (код считывания есть). не знаю как лучше заносить в курсор записи. или через массив (insert) или через вечный replace построчно. посоветуйте плиз что эффективнее и лучше! Может есть какие-то другие предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 15:03 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
А параметризованные LV/RV не подойдут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 15:24 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
А что это? И как Это использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 17:19 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
НедоходящийА что это? И как Это использовать? Похоже я недопонял вопроса. Это ты мемо поля парсишь в обыкновенные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 17:26 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Да. но как лучше и эффективнее это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 17:27 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Действительно, не понятно что Вам надо посоветовать... Если вопрос о том, что быстрее append blank + replace or Insert, то вроде как Insert считается быстрее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 18:53 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Hi Недоходящий! memo поля нуждаются в преобразовании или нет? Если нет (и версия фокса позволяет) то логичнее всего написать INSERT INTO my_curs1 (...) SELECT ... FROM my_table. Если фокс слишком древний - то SELECT ... INTO CURSOR tmp1 + APPEND FROM DBF("tmp1") - т.е. через промежуточный курсор. Также может пригодится способ "хитрого" UNION запроса описанный Владимиром Максимовым в теме http://www.sql.ru/forum/actualthread.aspx?tid=236236 я не понимаю чего ты там не понял - вроде всё прозрачно... Если преобразования нужны, но они тривиальные, или осуществляются через UDF - то просто в верхней команде после SELECT нужно не просто поля перечислить, а соответствующие функции конвертации. Если же преобразования нетривиальные, и скажем из одной записи с memo-полями должно получится несколько записей в курсоре - то тогда SCAN цикл (возможно с вложенным внутри FOR или DO WHILE циклом) с переносом данных через INSERT INTO my_curs1 (...) VALUES (...) - ну или если ты "разбираешь" memo поля в многострочный массив - то APPEND FROM ARRAY ... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2005, 20:10 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
C этим понятно, спасибо. такой вопрос. что здесь не хватает? чтоб этот код заработал ValLine1 = '1' select frt replace fil with select alltrim(feild_name) from urep_filter where nrec = val(ValLine1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 12:41 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
НедоходящийC этим понятно, спасибо. такой вопрос. что здесь не хватает? чтоб этот код заработал ValLine1 = '1' select frt replace fil with select alltrim(feild_name) from urep_filter where nrec = val(ValLine1) Возможностей FoxPro. ТАК оно работать не будет вообще. Если в таблице urep_filter есть индекс по полю nrec, то можно написать так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 14:46 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
to ВладимирМ делаю так как Вы написали. Результат: в курсоре после проведения кода в курсор загоняеться только одно значение во всех строках. т.е. когда дело доходит до последнего значения которое загоняеться в ValLine1, то все строки содержат запись вот этого последнего значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 16:41 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Тогда объясните, что именно Вы хотите получить в результате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 18:38 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Я хочу чтоб по совпадению значений в VAL(ValLine1) и в urep_filter.nrec заносилось значение AllTrim(urep_filter.Field_name). Оно работает, НО, когда она находит совпадение, то замещает значением AllTrim(urep_filter.Field_name) все строки!. Вот в чем проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 18:45 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Hi Недоходящий! > replace fil with select alltrim(feild_name) from urep_filter where nrec = > val(ValLine1) REPLACE ... FROM ... WHERE ... Господи, ну откуда можно было взять столько откровенной чуши. Вы хоть изредка удосуживаетесь в хелп заглянуть, или просто пишете чего в голову взбредёт, а потом хотите чтобы вам растолковали почему оно не работает? Ошибка синтаксиса - вот и не работает. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 01:47 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
to Igor Korolyov Я хелп читал. много вариантов перепробывал. пытаюсь по Вашему примеру, все равно ругаеться что неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 12:25 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
НедоходящийЯ хочу чтоб по совпадению значений в VAL(ValLine1) и в urep_filter.nrec заносилось значение AllTrim(urep_filter.Field_name). КУДА должно заноситься это значение? Если это значение должно заноситься в другую таблицу, то КАКУЮ именно ЗАПИСЬ из таблицы urep_filter надо брать для записи в эту другую таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 00:15 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Hi Недоходящий! Если хелп читали - то укажите цитату, откуда был взят такой синтаксис. Если Вам кто-то такое тут посоветовал - укажите где Вам это было предложено - ДОСЛОВНО как указано в сообщении за 21 ноября 2005 г. 11:41. Я в упор не вижу нигде таких советов. А другие, правильные и вполне работающие варианты у Вас конкретно не работают, хотя вот у меня например всё работает и вопросов не вызывает, и к чему бы это? Кроме того желательно всегда предельно чётко описывать задачу, а также предоставить тестовые данные - что есть, и что из этого надо получить. При этом оформить это (кроме конечно результата) надо как скрипт создающий курсоры (или таблицы если это критично) и наполняющий их тестовыми данными - т.е. CREATE CURSOR ... + группа INSERT INTO ... - дабы любой мог скопировать это в prg файл, запустить и далее экспериментировать. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 00:37 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
to ВладимирМ значение должно заноситься в строку курсора 'frt' поля 'fil' таблица urep_filter имеет много полей и в ней есть поля : nrec(I) - код записи, Field_name(C) - название столбцов. записи нужно заносить в курсор 'frt.fil' из urep_filter.Field_name где urep_filter.nrec = ValLine1 (ValLine1 - будет иметь значния 1,7,5) urep_filter ------------------------------ Field_name (C(40)) | nrec(I) -------------------|---------- usd | 1 grn | 2 nds | 5 kpd | 7 ------------------------------ и т.д. to Igor Korolyov Фокс Ваш пример обругивает как неправильный синтаксис, пробовал много вариантов и все ему не нравиться. Вы бы не могли мне привести пример кода 'REPLACE ... FROM ... WHERE ...'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 10:56 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Пожалуйста объясните, в примере select naimen as dds from line where есть 'as dds' который показывает результат. Как этот результат занести в переменную и не отображать на экран результат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 12:24 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Похоже, ты просто не понимаешь того, о чем тебя спрашивают. Делаем тестовые данные Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Предположим, я нашел в таблице tabChild запись, у которой значение поля nRec равно нужному мне значению. Например, 1. Определил, что в найденной записи значение поля Field_Name="usd" И вот теперь основной вопрос: В какую запись таблицы tabMain я должен занести это найденное значение? Как видите, записей 2. Заменять обе? Нет? Тогда какую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 22:47 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Hi Недоходящий! > Фокс Ваш пример обругивает как неправильный синтаксис Ну конечно - ты же потрудился как можно более подробно изложить свою проблему, указал какой версией VFP пользуешься :) Или надеешься на телепатию? Извини, но я не собираюсь гадать какая у тебя версия фокса. Не указал - так теперь и не жалуйся что на твоей версии это не работает :) А внятного примера исходных данных и результата так и нет - вот Владимиру не лень - он решил погадать слегка чего же тебе нужно то получить, повытягивать клещами информацию из тебя (можно подумать это ему надо а не тебе)... А мне уже лень, извини... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 02:51 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
фокс 6 to ВладимирМ Начиная с первои и вниз до тех пор пока условия по полю nRec не закончаться. to Igor Korolyov Я Вас понимаю. Мне очень жаль что я не могу изложить правильно сути проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 10:40 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Недоходящийфокс 6 to ВладимирМ Начиная с первои и вниз до тех пор пока условия по полю nRec не закончаться. Не понял. Тогда что Вам не нравиться? Я нашел в таблице tabChild запись, удовлетворяющую нужному условию. Это ОДНА запись. И заменяю ВСЕ записи в таблице tabMain, поскольку они ВСЕ удовлетворяют этому условию. Точнее, в таблице tabMain просто НИКАКИЕ условия не проверяются. То, что Вы и хотели. Какие претензии-то? Или Вы все-таки хотели что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 19:56 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ да наверное другое. я хотел после append blank одной строчкой replace заменить запись по условию (причем условие меняеться не меняеться только поле по которому производиться условие) из другой таблицы. + это все будет повторяться через for. Вот что я хотел. много пробывал и ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 20:12 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
Опять ничего не понял. Давай так: Создай у себя 2 эти таблички. Второстепенные поля не добавляй. Оставь только то, что имеет отношение к проблеме. Добавь в эти таблички несколько записей. Теперь сделай третью табличку, куда помести тот результат, который ты хочешь получить. Причем этот результат получен по тем тестовым данным, которые ты занес в предыдущие 2 таблички. Все это упакуй в ZIP-архив и положи сюда во вложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 20:48 |
|
||
|
как лучше поступить?
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ итак, проблема втом чтоб одной командой зделать действия: 1) по порядку начиная с первой строки взять значение из табл2 поля nr 2) занести в табл3 значение из табл1 поля аа по условию, что значение взятое из табл2 = значению табл1 поля сс. И как все это поместить в Replace? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33387714&tid=1592825]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 517ms |

| 0 / 0 |
