Плагины
Re: Плагины
Уважаемый Дмитрий !!! Благодарю Вас помощь, осталось крайнее усилие...
Детали в файле ...
Детали в файле ...
- Вложения
-
- Уважаемый Дмитрий.docx
- (514.33 КБ) 218 скачиваний
Re: Плагины
Текст Вашего плагина очень большой и ориентироваться сложно. Как вариант, у Вас два плагина в одном. Этого делать нельзя и нужно объединить. Должен остаться один.
Re: Плагины
Дмитрий доброго времени суток !
Благодарю Вас за подсказку , буду пробовать.
Благодарю Вас за подсказку , буду пробовать.
Re: Плагины
Форумчане доброго времени суток!
Дано: открытая ,средствами ГИС Аксиома , таблица земля с текстовыми объектами : 1,2,3,4
Необходимо: удалить все записи из таблицы земля и сохранить изменения.(очистить землю)
Мои действия :
----------------- фрагмент программы --------------------
# выбрать все записи в таблице земля
qry = axipy.data_manager.query('select * from земля')
# удалить выбранные записи
for f in qry.items():
print('>>>', f.id)
qry.remove(f.id)
- --------------------------------------------------------------------
печать идентификаторов записей
>>> 0;1;2;3
и удаляет только объекты 1;2. Таблица Запрос формируется правильно (выбраны все записи в таблице земля).
Запускаю еще раз "очистить землю" и все удаляется и мы добиваемся своей цели.
Вопрос : Каким образом одним махом удалить выбранные записи ?
Дано: открытая ,средствами ГИС Аксиома , таблица земля с текстовыми объектами : 1,2,3,4
Необходимо: удалить все записи из таблицы земля и сохранить изменения.(очистить землю)
Мои действия :
----------------- фрагмент программы --------------------
# выбрать все записи в таблице земля
qry = axipy.data_manager.query('select * from земля')
# удалить выбранные записи
for f in qry.items():
print('>>>', f.id)
qry.remove(f.id)
- --------------------------------------------------------------------
печать идентификаторов записей
>>> 0;1;2;3
и удаляет только объекты 1;2. Таблица Запрос формируется правильно (выбраны все записи в таблице земля).
Запускаю еще раз "очистить землю" и все удаляется и мы добиваемся своей цели.
Вопрос : Каким образом одним махом удалить выбранные записи ?
Re: Плагины
Ниже приведен пример кода, который создает таблицу, вставляет несколько записей, сохраняет её и затем удаляет все записи.
Если требуется удалить несохранённые данные, то можно воспользоваться Table.rollback()
Code: Select all
import axipy as axp
# создаём таблицу
schema = axp.Schema(
axp.Attribute.integer('Num'),
axp.Attribute.string('Name', 150)
)
table = provider_manager.tab.create_open('path/to/datadir/newtable.tab', schema)
# вставляем записи
table.insert(axp.Feature(Num = 1, Name = 'Объект 1'))
table.insert(axp.Feature(Num = 2, Name = 'Объект 2'))
table.insert(axp.Feature(Num = 3, Name = 'Объект 3'))
table.insert(axp.Feature(Num = 4, Name = 'Объект 4'))
# сохраняем таблицу
table.commit()
# получаем список всех идентификаторов
ids = []
for item in table.items():
ids.append(item.id)
# удаляем записи
table.remove(ids)
Если требуется удалить несохранённые данные, то можно воспользоваться Table.rollback()
Re: Плагины
Александр Доброго времени суток !
Благодарю Вас ! Все получилось .
Ваши бы примеры да в руководство !
Если я правильно понял , то все операции с записями в таблице производим только через идентификаторы записей ?
Благодарю Вас ! Все получилось .
Ваши бы примеры да в руководство !
Если я правильно понял , то все операции с записями в таблице производим только через идентификаторы записей ?
Re: Плагины
Добрый день.
Удалить все записи можно проще
qry = axipy.data_manager.query_hide('DELETE FROM земля')
Удалить все записи можно проще
qry = axipy.data_manager.query_hide('DELETE FROM земля')
Матвеич писал(а): ↑16 апр 2024, 11:58 Форумчане доброго времени суток!
Дано: открытая ,средствами ГИС Аксиома , таблица земля с текстовыми объектами : 1,2,3,4
Необходимо: удалить все записи из таблицы земля и сохранить изменения.(очистить землю)
Мои действия :
----------------- фрагмент программы --------------------
# выбрать все записи в таблице земля
qry = axipy.data_manager.query('select * from земля')
# удалить выбранные записи
for f in qry.items():
print('>>>', f.id)
qry.remove(f.id)
- --------------------------------------------------------------------
печать идентификаторов записей
>>> 0;1;2;3
и удаляет только объекты 1;2. Таблица Запрос формируется правильно (выбраны все записи в таблице земля).
Запускаю еще раз "очистить землю" и все удаляется и мы добиваемся своей цели.
Вопрос : Каким образом одним махом удалить выбранные записи ?
Re: Плагины
доброго времени суток gimap !
Попробовал Ваш вариант : qry = axipy.data_manager.query_hide('DELETE FROM земля')
выдает ошибку : (вероятно что-то не подключено ?)
File "C:\Users\User\AppData\Roaming\ESTI\Axioma.GIS\v5\installed_modules\modules\MapTopik\__init__.py", line 365, in map_clear
qry = axipy.data_manager.query_hide('DELETE FROM земля')
AttributeError: 'DataManager' object has no attribute 'query_hide'
Попробовал Ваш вариант : qry = axipy.data_manager.query_hide('DELETE FROM земля')
выдает ошибку : (вероятно что-то не подключено ?)
File "C:\Users\User\AppData\Roaming\ESTI\Axioma.GIS\v5\installed_modules\modules\MapTopik\__init__.py", line 365, in map_clear
qry = axipy.data_manager.query_hide('DELETE FROM земля')
AttributeError: 'DataManager' object has no attribute 'query_hide'
Re: Плагины
Ошибся
query_hidden
qry = axipy.data_manager.query_hidden('DELETE FROM земля')
query_hidden
qry = axipy.data_manager.query_hidden('DELETE FROM земля')
Матвеич писал(а): ↑17 апр 2024, 13:45 доброго времени суток gimap !
Попробовал Ваш вариант : qry = axipy.data_manager.query_hide('DELETE FROM земля')
выдает ошибку : (вероятно что-то не подключено ?)
File "C:\Users\User\AppData\Roaming\ESTI\Axioma.GIS\v5\installed_modules\modules\MapTopik\__init__.py", line 365, in map_clear
qry = axipy.data_manager.query_hide('DELETE FROM земля')
AttributeError: 'DataManager' object has no attribute 'query_hide'