Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
нужно ли использовать команду dbfClose после каждого внесения изменений,
Нет. Но, если база больше не нужна, то можно (и даже разумно с точки зрения экономии ресурсов) и закрыть.
ЦитатаUIYOYXB ()
перед закрытием программы?
Можно, но не обязательно, т.к. при закрытии программы, все открытые базы закрываются автоматически.
Совет: почаще заглядывайте в справку, тем более, что она есть на русском языке для этого плагина. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
При добавлении записей в БД им присваивается индекс (как я поняла) и изначально записи выводятся в этом порядке. Так вот вопрос: можно ли оперировать этими индексами, например, изменять, добавлять новую запись со сдвигом индексов? Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Нет - нельзя, можно только удалять или добавлять в конец базы. Но можно сортировать записи в порядке возрастания или убывания по нужному полю - смотрим файл справки команды dbfSort, dbfUnSort, dbfSetSortLocale. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Можно, почему нельзя? Никто не запрещает делать это прпограммно. Копируем строку 1 в переменную 1, копируем строку 5 в переменную 2, вставляем переменную 2 в строку 1, а переменную 1 в строку 5.
Если этого не достаточно, и нужно чтобы индексы шли по порядку 1,2,3 а не с учетом того что ранее записи удалялись и индекс уже идет 1,2,7,9..., то продолжаем, экспортируем всю базу в csv, создаем новую, импортируем файл, старую закрываем, удаляем, новую переименовываем и открываем. Нормальные герои, всегда идут в обход...
В нб можно сделать все что угодно, скорости не хватает когда начинаешь ее позновать глубже... Не хочешь читать хелп?
Можно, почему нельзя? Никто не запрещает делать это прпограммно. Копируем строку 1 в переменную 1, копируем строку 5 в переменную 2, вставляем переменную 2 в строку 1, а переменную 1 в строку 5.
И просто поменял местами строки, а сдвиг и вставка где?
Чтобы вставить запись надо, по сути, переписывать если не всю базу, то ту ее часть, которая идет после вставки (сдвига). Сделать это, конечно, можно (если база не очень большая), но нужно ли?
Цитатаmishem ()
и индекс уже идет 1,2,7,9..
Для того, чтобы это не происходило, нужно "упаковать" базу после удаления записей, и тогда индексы "перепишутся". Но вообще (на мой взгляд), в перестановке записей местами (или вставки новой записи, например, в середину базы) нет никакого смысла, т.к. при обращении к базе всегда требуется какая-то сортировка, и фактический порядок следования записей в базе не имеет значения.
Цитатаmishem ()
В нб можно сделать все что угодно,
.. Вот это ДА-А-А-А!!! Сейчас гланул в окно - красный снег, вроде, не идет... Что происходит?...
А как же Ukirad?
Цитатаmishem ()
скорости не хватает когда начинаешь ее позновать глубже...
Скорости ему не хватает!...
Я уж тыщу раз говорил, что нужно для "скорости". Все остальное (и все скриптовые языки в том числе) - "перепевки на тему". - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Что ты к нему привязался? Пусть парни делают. Сделают, хорошо, нет, на нет и спроса нет. Начало у них хорошее заложено. Жду продолжения.
А пока там говорить не о чем. Баг на баге, кстати там один остался, второй бросил эту затею. Не по зубам видать. Ты б поменьше критиковал. Мож он тоже читает, а желание что то делать, ты умеешь отбивать.
Да я не к нему привязался, а - к тебе! Ведь тебе же не хватало в NB того, что имеется (теоретически) в Ukirad. Потому и спросил.
Цитатаmishem ()
а желание что то делать, ты умеешь отбивать.
Когда я учился в училище (ЛВИМУ), у нас, судоводителей, английский был три раза в неделю (по сути - вторая специальность, хоть и "узкоспецифичный" английский), но группе, в которой учился я, крупно не везло - каждый курс у нас менялась преподавательница английского, и в результате знаний было "кот наплакал", т.к. не было никакой системы в обучении. И вот на 5 курсе (на судоводительском факультете учиться 6 лет) мы попали к самой "страшной" англичанке в училище - Купцовой (имя-отчество чего-то не вспоминается). Тетка была безумно строгая и требовательная. Так-вот, всего за год(!) она научила нас тому, что мы "профукали" все 4 года до этого! Вспоминаются "Джентльмены удачи", помнишь - "от корки до корки"?
Кстати, у нас даже на защите диплома, если защищаешься на английском, автоматом добавлялся один балл к оценке, но, если вдруг не поперло по-английски, на русский переходить было уже нельзя Я не рискнул.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Если индекс с генерировался искусственно, т.е. самой БД (автоинкремент) то нельзя(!), т.к. его предназначение - служить первичным/уникальным ключом. Если пытаться этот индекс изменить, то будет ошибка. Еже ли просто созданное поле с типом number, то можно приводить любые манипуляции, но при этом теряется уникальность. В БД уникальность очень важна, если необходимо не перезаписывать данные, а в остальном на усмотрение программера Все зависит от поставленной цели... Индекс вообще только должен фигурировать в запросе WHERE, в остальном лучше его не трогать
Сортировка не даст нужного результата. Для моего удобства, мне просто необходимо выводить записи в таблицу в определенной последовательности, а сортировка ее нарушит. Можно конечно добавить еще одно поле для неких индексов и по ним сортировать, но тоже довольно мутороно будет потом переписывать их.
Цитатаmishem ()
экспортируем всю базу в csv
А вот это, как оказалось, самое оптимальный и удобный вариант для меня. База планируется практически статичной, новые записи если и будут добавляться, то очень редко. Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
экспортируем всю базу в csv А вот это, как оказалось, самое оптимальный и удобный вариант для меня. База планируется практически статичной, новые записи если и будут добавляться, то очень редко.
Это ровным счетом ничего не даст. Никакой "вставки" и "сдвига" индексов все-равно не будет, а, максимум, просто удалятся пустые записи, и все. Тот же самый результат можно получить просто "упаковав" базу. Но, подобный способ годится если только удалять записи (без добавления или вставки). Если с добавлением записей все понятно, то для "вставки" записи единственный вариант- переписывать всю базу (со сдвигом всех записей после вставки). Не веришь? Проверь на практике.
Но, самый разумный вариант:
ЦитатаСергей ()
Еже ли просто созданное поле с типом number, то можно приводить любые манипуляции,
ЦитатаCallisto ()
добавить еще одно поле для неких индексов и по ним сортировать
или типа того, правда "переиндексировать" (после вставки) поля "Number" все-равно придется, но это быстрее, чем переписывать все записи в базе. А дальше использовать сортировку, и не будет "физической" привязки к последовательности записей в базе.
ЦитатаCallisto ()
но тоже довольно мутороно будет потом переписывать их.
Да ничего там муторного нет - нашлепать один раз подпрограмму (можно и функцию) и всех делов. Вот это действительно будет оптимально и удобно.
Впрочем, у каждого свой путь. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Почему не даст? Добавляешь запись в базу (она соответственно добавится в конец), экспортируешь и в текстовом редакторе переносишь куда надо, затем создаешь новую БД и имеешь новую базу с нужной последовательностью. Меня вполне устраивает. Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Callisto, кажется я понял - праздники, шутливое настроение...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Callisto, ты знаешь что такое "бизнес по-русски"? Это - украсть цистерну спирта, спирт продать, а деньги - пропить.
Добавлено (02 Января 2015, 23:03) --------------------------------------------- Эх, а потом ещё сетуют на то, что
Цитатаmishem ()
желание что то делать, ты умеешь отбивать.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Это не неправильно, это - в обход. Да и ещё ручками во внешнем редакторе.
Возможное решение (через дополнительное "индексное" поле) было озвучено. Но, если так уж приперло "в обход", то в NB есть штатная команда FileInsLine. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Он отталкивается от индексов, ты от последовательности.
Очень часто спор получается ни о чем. Спорящие только думают что они спорят об одном и том же, на самом деле каждый смотрит на суть вопроса по разному. Не хочешь читать хелп?
Он отталкивается от индексов, ты от последовательности.
Гм...
Записи в базе следуют физически друг за другом в том порядке в каком они добавлялись в базу, и если бы при работе с базами все отталкивались от этой "последовательности", то базы просто потеряли бы смысл. Результат вывода данных из базы, например в таблицу, всегда основывается на поисковом запросе (в этом весь смысл базы), и может выстраиваться совсем не в том порядке, в каком записи заносились в базу. Для того и существуют опции сортировки. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Ты забываешь что в НБ нет хорошо реализованной сетки, обычной таблицы По этому базу используют именно для этого случая и не только, а не по назначению.
По этому базу используют именно для этого случая и не только, а не по назначению.
mishem, если ты считаешь, что я хоть что-то понял из сказанного тобой, то жестоко ошибаешься. Какого "этого случая"? Чем "этот случай" не годится для обычной работы с базой? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Чем "этот случай" не годится для обычной работы с базой?
он хотел сказать, что здесь база (ну помимо хранения данных) используется как табличная сетка для визуализации этих данных, а при этом вид этих данных, порядок и пр. имеет значение, в отличие от работы с базой по запросам, где представление данных в бд значения не имеет по большому счету.
Цитатаmishem ()
в НБ нет хорошо реализованной сетки, обычной таблицы
как табличная сетка для визуализации этих данных, а при этом вид этих данных, порядок и пр. имеет значение,
А чем, собственно, не устраивает таблица, имеющаяся в плагине? В нем есть все необходимое для работы с базами. Как организуешь таблицу, запрос и выполнишь сортировку, так и будет отображаться. Неужели так сложно добавить в запись всего одно скрытое поле (счетчик), по которому и проводить сортировку? В каждой записи должна присутствовать невидимая "служебная информация". Можно даже без специального запроса - просто открыть базу и выполнить команду dbfSort по нужному полю (счетчику). Одна "лишняя" строчка кода... Чего тут трудного-то? Но нет - нужно обязательно идти "в обход"!
И вообще, я никак не могу понять связь между т.н. табличной сеткой и последовательностью записей в базе.
В конце-концов, если чем-то не устраивает сетка плагина, то что мешает организовать отображение данных полей в обычных текстовых объектах NB, т.е. из них сконструировать нужную "сетку"? Даже в примерах к плагину все это есть.
ЦитатаPeter ()
Впрочем, у каждого свой путь.
Мне-то чего?... Если так нравится "нормально геройствовать", то нет проблем - "обход" тоже имеет право на существование. А то потом опять кто-нибудь скажет, что я отбиваю всякое желание что-либо делать.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А чем, собственно, не устраивает таблица, имеющаяся в плагине?
Нет штатной команды вставить строку в середине. Только в конце.
ЦитатаPeter ()
Неужели так сложно добавить в запись всего одно скрытое поле (счетчик),
Счетчик, нумерация в данный момент ей не нужны.
ЦитатаPeter ()
В каждой записи должна присутствовать невидимая "служебная информация".
Это когда ты знаешь какая информация будет находится, и можешь предвидеть все последовательности действий.
ЦитатаPeter ()
просто открыть базу и выполнить команду dbfSort по нужному полю
Не известно по какому полю и что именно нужно сортировать.
У сортировки нет закономерности.
Строки нужно расположить так как нужно пользователю. Нет нужной закономерности по которой можно отсортировать.
и т.д. и т.п.
Как пример. Текст который написан в сообщении. Есть строки. Есть смысл. Забыл что то вставить (пришла мысль, и решил дописать предложение(я).). Нужно добавить предложение во 2, 5, 9 строку так, что бы смысл текста не терялся. Сортировка не уместна. Когда, куда и что будет добавлено, не известно. Известно только пользователю, и то, в тот момент когда ему что то в голову придет.
Так же и здесь. Сетка используется для отображения и добавления информации, а не для использования информации как хранения данных для дальнейшего поиска и сортировки.
Надеюсь понятно объяснил. Здесь вопрос про индекс задавался в другом понимании.
ЦитатаDEMBEL ()
Но эта проблема решается
Ждемссс...
Хотя у этого решения думаю будет одна проблема. Нужен будет установленный эксель.
ЦитатаPeter ()
А то потом опять кто-нибудь скажет, что я отбиваю всякое желание что-либо делать.
В данном случае не отбиваешь.
Добавлено (03 Января 2015, 10:07) ---------------------------------------------
ЦитатаDEMBEL ()
наше дело предложить вариант а не спорить
Совершенно верно, в данный момент спор не уместен. Она говорит что нашла вариант так как ей лучше, удобней в реализации вопроса ввода данных, а Петр пытается ей объяснить как это правильно, но не уместно в ее случае.
Хотя, я такой же как Петр, и понятия не имею что именно она там делает и зачем все это нужно. Только предполагаю. Не хочешь читать хелп?
Неужели так сложно добавить в запись всего одно скрытое поле (счетчик), по которому и проводить сортировку?
Допустим в базе 1000 записей и возникла необходимость вставить новую в 251-ю позицию, придется переписывать 750 записей, а если понадобилось поменять несколько записей местами?
Цитатаmishem ()
Она говорит что нашла вариант так как ей лучше
Она вообще решила отказаться от БД в пользу INI-файлов С помощью их структуры возникла идея организовать еще кое-что, помимо хранения информации Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Правильно, поскольку в плагине нет возможности вставлять запись в середину базы.
Цитатаmishem ()
У сортировки нет закономерности.
Гм... mishem, я уже не раз тебе говорил, что прежде, чем нажать кнопку "добавить ответ", перечитай свое сообщение внимательно и вдумчиво.
А зачем тогда нужна сортировка, если у нее нет закономерности?
Цитатаmishem ()
Есть строки. Есть смысл. Забыл что то вставить (пришла мысль, и решил дописать предложение(я).).
Ага! В базу данных. Предложения.... Романы... "Война и мир" в базе данных построчно.
Цитатаmishem ()
Сетка используется для отображения и добавления информации, а не для использования информации как хранения данных для дальнейшего поиска и сортировки.
То, что таблица-сетка нужна для отображения и возможного редактирования записей в базе верно, но все-равно какой-то механизм (код) для этого (редактирования) должен присутствовать, не правда ли? Что мешает нашлепать этот самый код в NB? Да, пусть код NB и не будет "блистать" скоростью, но сделать это потенциально возможно. Понятно, что на всем готовом всегда удобнее, да и думать не надо.
Цитатаmishem ()
Здесь вопрос про индекс задавался в другом понимании.
ЦитатаCallisto ()
вставить новую в 251-ю позицию, придется переписывать 750 записей,
Записи полностью переписывать не надо, достаточно переписать только одно поле.
ЦитатаCallisto ()
а если понадобилось поменять несколько записей местами?
А это вообще проще пареной репы! mishem, уже выше приводил пример.
Интересно, необукеры сообщения вообще читают? Или так: пробежал глазами по-диагонали...
И вообще, структура записей в базе должны быть хорошо продумана, т.к.именно продуманность организации хранения информации обеспечивает удобство и скорость пользования базами данных. Если пользоваться базами абы-как (лишь бы было где хранить), то толку от них не будет никакого.
Впрочем, я уже в предыдущем сообщении сказал все, что хотел.
ЦитатаCallisto ()
Она вообще решила отказаться от БД в пользу INI-файлов
mishem, вот видишь - она и сама не знает чего хочет, а ты говоришь:
Цитатаmishem ()
Петр пытается ей объяснить как это правильно, но не уместно в ее случае.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться