|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|
Хранение данных в приложении11.08.2017, 00:40. Показов 4898. Ответов 24
Метки нет (Все метки)
Приветствую форумчан!
Есть такая задача - необходимо хранить список ФИО клиентов, их телефоны и адреса, чтобы при необходимости этот список можно было легко увеличить либо сократить. Первое что пришло в голову - создать такую базу сведений в Эксель и загружать при каждом запуске программы, но работа с Экселем жрет много ресурсов, что может сказаться на скорости работы ПО на слабых ПК. Вторая мысль - SQL. Ранее с ним не работал, поэтому создал на скорую руку таблицу и забил ее данными. Только вот встала проблема - не могу получить значение какой-либо конкретной "ячейки" (просто фамилию или телефон конкретного клиента). Подскажите пожалуйста, как лучше мне реализовать задуманное? P.S. Работаю в Visual Studio 2015, в настоящий момент пишу на VB.
0
|
|
| 11.08.2017, 00:40 | |
|
Ответы с готовыми решениями:
24
Хранение данных в приложении Хранение данных в приложении-справочнике
|
|
es geht mir gut
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|||
| 11.08.2017, 07:07 | |||
|
Храните список в Экселе без программы.
1
|
|||
|
1728 / 1594 / 166
Регистрация: 25.07.2015
Сообщений: 2,671
|
|
| 11.08.2017, 07:42 | |
|
a13428711, поддерживаю SoftIce.
Вам совершенно без надобности городить огород с VB.NET при таких потребностях. Если всё-же хочется красоты а-ля форма управления/поиска , то в том же экселе создайте эту форму с помощью VBA и макросов и будет вам счастье ))
1
|
|
|
21 / 21 / 18
Регистрация: 03.05.2016
Сообщений: 100
|
||||||
| 11.08.2017, 07:43 | ||||||
2
|
||||||
| 11.08.2017, 07:49 | |
|
2
|
|
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|
| 11.08.2017, 20:25 [ТС] | |
|
Ну не надо смеяться
. Прога работает с вордом и генерирует различные бланки (запросы, уведомления и прочую шушару). Хранить можно и в экселе, но при загрузке данных образуется хорошая пауза, которая мне очень не нравится.Я правильно понимаю, что я создаю базу SQL с помощью сервера, а когда скомпилирую программу она уже будет в ее составе и сам SQL сервер для ее работы будет не нужен? Блин, неужели нет способа хранить простые табличные данные без использования ресурсоемких приложений? И еще вопрос на этой теме. А нельзя сохранять данные в самом приложении? То есть, создаем пустой массив с запасом (скажем 100 элементов) и программно получаем из него данные. Затем при необходимости добиваем его его через форму новыми значениями либо удаляем ненужное. Это был бы идеальный вариант . Главное, чтоб это все сохранилось после закрытия программы .Вот с микроконтроллерами все просто - берем Flash память, бронируем там переменные или массивы, а потом пишим в них что душе угодно. И в памяти это может храниться долгие годы, даже после отключения питания
0
|
|
|
es geht mir gut
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|
| 11.08.2017, 20:31 | |
|
0
|
|
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|
| 11.08.2017, 20:33 [ТС] | |
|
0
|
|
|
es geht mir gut
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|
| 11.08.2017, 20:38 | |
|
Что значит "хорошая пауза" ? Две секунды на загрузку Excel ? Раз в день ?
0
|
|
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
||
| 11.08.2017, 20:46 [ТС] | ||
|
2-3 секунды при каждом этапе формирования бланка. Это не смертельно, но постоянно напоминает мне об убогости моего кода
.Судя по ответам, я так понимаю, что лучшего решения не существует. Остался только вопрос - как ведет себя это решение (с точки зрения скорости работы - быстрее экселя или нет):
0
|
||
| 11.08.2017, 22:50 | |
|
1
|
|
|
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
|
| 11.08.2017, 23:03 | |
|
a13428711, может вам sqlite подойдет? Это автономная БД.
2
|
|
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|||
| 12.08.2017, 00:29 [ТС] | |||
![]() Завтра буду пытать свой мозг, если что, то я вернусь
0
|
|||
|
1728 / 1594 / 166
Регистрация: 25.07.2015
Сообщений: 2,671
|
||||
| 12.08.2017, 05:48 | ||||
![]() Вам было предложено убить назойливого комара баллистической ракетой, говоря образно, вместо того , чтобы прихлопнуть его ладошкой. на вскидку : -используемый вами эксель, но не как программа , а именно как хранилище. -обычный текстовый файл любого формата -сериализация , предложенная ovva (оптимально для данной задачи, при условии, что хранилище "плоское" , т.е. не имеющее реляционных связей , а тупо одна табличка) -sqlite, предложенный Дядя Корней, но это уже не просто табличка, а база данных. Из минусов его использования - подключение внешнего (стороннего) коннектора (библиотеки) для работы с ней, а так же некоторые несовместимости. -access , тоже база данных- оптимальна для хранения небольшого количества данных, т.к. оба продукта от Microsoft, не требующие ни дополнительных библиотек , ни танцев с бубном при взаимодействии, то как кодировка например,периодически возникающая с sqlite. и вся информация в ней грохнется не то , что после вкл/выкл питания , а просто при перезапуске программы.
2
|
||||
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
||
| 12.08.2017, 09:07 [ТС] | ||
|
Как правильно структурировать такое в текстовом файле, чтоб при необходимости можно было легко отыскать нужную "ячейку" либо добавить/удалить ее? Не откажусь и от ссылки по данной теме, так как сам так и не нашел ответа....
0
|
||
|
1728 / 1594 / 166
Регистрация: 25.07.2015
Сообщений: 2,671
|
|
| 12.08.2017, 11:47 | |
|
a13428711, изначально речь шла о телефонном справочнике с адресами и телефонами
![]() По вновь поставленной задаче я бы делал в аccess (мне так проще оперировать данными) , хотя это достаточно просто воссоздать и в txt-файле Вариантов , на мой взгляд , два : 1) Вы создаёте на всех одну таблицу с дополнительными тремя логическими (true|false или 1|0) полями : физ. лица контора гос. контора При считывании данных из неё по признаку ,например, true|1 в одном из этих полей ,программа понимает какие поля выводить для просмотра и доступны для редактирования/добавления и т.д. 2) более простой . Вы создаёте 1 таблицу с данными клиентов и связующую со списком физ. лица контора гос. контора Далее , просто выбирая из списка связующей таблицы нужный тип клиента вы подгружаете список клиентов по выбранному типу и оперируете ими, выводя на форму/или разрешая редактировать|заполнять только те поля,которые присущи данному типу клиентов .
0
|
|
| 12.08.2017, 12:47 | ||
|
Не по теме:
3
|
||
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|||
| 12.08.2017, 16:11 [ТС] | |||
|
Необходимо хранить список ФИО клиентов, их телефоны, адреса и другие данные, чтобы при необходимости этот список можно было легко увеличить либо сократить, желательно через форму программы. Этот список нужен для того, чтобы формировать бланки документов, т.е. программа берет, к примеру, адрес контрагента и вставляет его через Word в поля с адресами, потом берет телефон и.т.д. Таким образом, нужно обеспечить программе возможность обратиться к любому элементу нашей "таблицы".
0
|
|||
|
1728 / 1594 / 166
Регистрация: 25.07.2015
Сообщений: 2,671
|
|
| 12.08.2017, 17:38 | |
|
1
|
|
| 12.08.2017, 17:38 | |
|
Помогаю со студенческими работами здесь
20
Хранение учетных данных в приложении Хранение данных в приложении, какое хранилище предпочтительнее Хранение данных (из БД) в приложении как singleton и визуальное программирование Хранение информации в приложении
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|