powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / При заполнении таблицы из запроса Select данные в ней не сохраняются
17 сообщений из 17, страница 1 из 1
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068512
nonentity
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю пустую таблицу.
Пишу запрос, результат которого направляю в таблицу.
По-идее, эти данные должны сохраниться после закрытия приложения, но такого не происходит.

Объясните, плиз, почему так происходит и как добиться нужного результата.

Заранее спасибо :О)
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068589
....
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вы сохраняете данные в таблицу - через SELECT ... INTO ...?
Если так, то ваши данные пишутся в курсор, а не в созданную вами ранее таблицу, если же как-то иначе то код в студию...
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068606
Андрей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
....А как вы сохраняете данные в таблицу - через SELECT ... INTO ...?
Если так, то ваши данные пишутся в курсор, а не в созданную вами ранее таблицу, если же как-то иначе то код в студию...

Если SELECT ... INTO Table, то данные пишутся в таблицу, которую перед выходом из программы следует закрыть.
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068720
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей КЕсли SELECT ... INTO Table, то данные пишутся в таблицу, которую перед выходом из программы следует закрыть.
Это Вы о чём???????????

to nonentity
Код запроса - секрет? :-(
Или Вы думаете, что такого вопроса достаточно?
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068791
nonentity
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для формы события Init пишется примерно следующий код

if !used("temp")
use temp in 2
endif
select2

zapr = "Select бла бла бла;
from бла бла бла;
into table temp;
where бла бла бла = другое бла бла бла"
&zapr
если тут же написать browse, то отображаемые результаты верны
если написать select 2 (перейти в область с таблицей temp) и тут сделать
browse, то отображается пустая таблица.
в любом случае после закрытия программы таблица temp пуста ((
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068806
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если написать select 2
а почему именно select 2? какая-то эскимосская уверенность
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068855
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вероятно из разных папок открывается. Предлагаю написать полный путь вроде c:\temp.dbf в обоих случаях и посмотреть
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068895
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно у меня тоже нет уверенности что таблица "перетрется" если путь не указан и что она займет именно вторую область это вам не курсор однако
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068916
nonentity
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все пути прописываются в событии Load формы, которая запускается самая первая. делается это примерно так:
public cPath
cPath = getdir()
set path to (cPath)
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068938
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, тебе уже "намекнули", но уж слишком "прозрачно". Поясняю.

В какой именно рабочей области будет открыта таблица по команде SELECT ... INTO ... никогда заранее неизвестно.

Поэтому твой уверенность, что таблица будет открыта именно во 2 рабочей области, мягко говоря, удивляет.

Вообще, обращение к рабочим областям по их номерам - это крайне порочная практика. Требует повышенной бдительности от программиста и в подавляющем большинстве случаев ничем не оправдана.

Следует использовать переход в нужную рабочую область по алиасам открытых в них таблиц. В твоем случае

Код: plaintext
1.
2.
3.
4.
SELECT ... INTO TABLE temp
* Переходим в нужную рабочую область
SELECT temp
* Смотрим, какой ее номер
?SELECT()
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33068950
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Вы не хотите вместо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
if !used("temp")
use temp in  2 
endif
select2

zapr = "Select бла бла бла;
from бла бла бла;
into table temp;
where бла бла бла = другое бла бла бла"
&zapr

сделать просто:
Код: plaintext
1.
2.
3.
Select бла бла бла;
from бла бла бла;
into table temp;
where бла бла бла = другое бла бла бла
И впредь не пользоваться выражениями, подобными:
Код: plaintext
SELECT  2 
Пользуйтесь:
Код: plaintext
SELECT Temp
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33069009
nonentity
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о, вот это уже дельное объяснение. Спасибо, ВладимирМ
но тут возникла другая проблема.
сам проект находится на диске d, там же находится и таблица temp, но результат запроса направляется на с в дирректорию, где установлен FoxPro.
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33069051
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но результат запроса направляется на с в дирректорию, где установлен FoxPro.
а так и будет если с фокспро не договариться
1.использовать команды по смене текущего пути
2.указать в запросе полное имя таблицы
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33069080
nonentity
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полное имя - это типа
Select бла бла бла;
from бла бла бла;
into table d:\prog\temp.dbf;
where бла бла бла = другое бла бла бла ???
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33069083
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nonentityсам проект находится на диске d, там же находится и таблица temp, но результат запроса направляется на с в дирректорию, где установлен FoxPro.
В целом, leaf - прав, но он опять не сделал никаких пояснений.

При использовании синтаксиса

SELECT ... INTO TABLE temp

будет создана новая таблица. Причем в данном случае она будет создана в текущей директории. Какая именно директория является в данный момент текущей можно определить так:

?FULLPATH("")

Здесь пустая строка (две кавычки подряд) в качестве параметра обязательна.

Изменить текущую директорию можно используя команду

SET DEFAULT TO "D:\MyDir"

или

CD "D:\MyDir"

Но можно просто явно указать в команде Select-SQL где именно создать новую таблицу:

SELECT ... INTO TABLE D:\MyDir\temp

Впрочем, обычно в этом не возникает необходимости, поскольку если запустить скомпилированный файл EXE непосредственно из проводника Windows, то в качестве директории по умолчанию и так будет выбрана та директория, где этот файл EXE и расположен. Разумеется, если ты не менял ее каким-либо образом.
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33069135
nonentity
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УРААААА
ОНО ЗАРАБОТАЛО)))
спасибо всем за помощь.
форум оказался рульным
(но я нашел другое решение своей проблемы :О) )
...
Рейтинг: 0 / 0
При заполнении таблицы из запроса Select данные в ней не сохраняются
    #33069147
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно Владимир прав
добавлю тока что бы тему закрыть
1.если указать полный путь а на том компе где вы установите программу этого каталога не будет... ну в общем вы наверное поняли

2.или есть продвинутые пользователи которые меняют настройки ярлыка виндоус или мало ли что да и вопрос неоднократно обсуждался короче лично я вставляю команды типа
cCurProc =SUBSTR(SYS(16,1), 1, RAT("\",SYS(16,1)))
SET DEFAULT TO (cCurProc)
в любой свой проэкт
может можно и проще но я так делаю
смысл команд пояснять не буду такой уж я хелп я думаю найдете тут рядом пост владимира с координатами хелпа
з.ы.
лично мне ваше бла бла бла не нравиться на флуд похоже
алергия какая-то хотя переживу конечно
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / При заполнении таблицы из запроса Select данные в ней не сохраняются
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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