João Henrique Braga Ответов: 2

Как сохранить данные приложения?


Здравствуйте, я разрабатываю приложение windows forms в visual studio на языке C #.

Пользователь будет вставлять данные в texbox, listboxs, radionbuttun, а приложения будут производить соответствующие вычисления, которые будут генерировать данные, которые они тоже хотели бы сохранить !! таким образом, пользователь использует свободу создавать несколько отдельных проектов и может получить доступ к каждому из них при необходимости, поэтому я хотел бы выбрать место или место, где сохранить и вернуться в проект, он не был тем местом, где он был сохранен и сделал два клика по проекту, и мое приложение открывает или требует проект со всеми его конкретными данными.

Я могу предоставить больше информации и объяснить лучше, если, если есть какие-то сомнения в моей цели, Мне жаль, что я не знаю правильно, но я все еще учусь, так как уже очень вам всем благодарен.

Что я уже пробовал:

Я пытался создать базу данных для каждого проекта, создаваемого по мере того, как пользователь создавал новый проект, используя SQL serve CE (.sdf), однако когда я запустил приложение на другом компьютере для тестирования базы данных, программа разбилась ...

2 Ответов

Рейтинг:
2

#realJSOP

Если вы собираетесь сохранить данные на диске пользователя, вы можете использовать .net Settings шаблон элемента, который хранит все в файле app.config и уже имеет встроенную функцию сохранения/загрузки. Это самый простой способ хранения пользовательских данных.

Использование шаблона настроек хорошо освещено - Google-ваш друг. Вот ссылка на результаты поиска:

Поиск Google для "приложение.конфиг сохранить и загрузить" [^]


Рейтинг:
16

Richard MacCutchan

Это, по существу, тот вопрос, который мы обсуждали вчера. Сохранение всей информации пользователя в одной базе данных, вероятно, является лучшим вариантом.

И если ваша программа потерпела крах, то вам нужно выяснить, почему.


João Henrique Braga

но все же я не могу заставить приложение открыть базу данных, щелкнув по ней дважды, я не знаю, как я мог бы это сделать.

Пример: представьте, что мое приложение было текстовым редактором (который работает с расширением файла .txt) Я хотел бы нажать на файл под названием "teste.txt" и мой редактор откроет содержимое этого файла непосредственно, вместо того, чтобы открывать его в моем приложении и открывать "teste.txt" через "opendialog"

Richard MacCutchan

Ну, опять же, я объяснил все это вчера. Вы должны зарегистрировать свое приложение в соответствии с расширением файла, которое используется по умолчанию.

João Henrique Braga

хорошо, даже если мое приложение имеет эту ассоциацию расширений, как будет сделано чтение этого файла? (мое приложение интерпретирует данные, содержащиеся в нем, при его инициализации через файл с расширением)

Richard MacCutchan

Когда пользователь щелкает файл, система запускает соответствующее приложение и передает имя файла(ов) в массив аргументов при вызове вашего приложения. main метод.

João Henrique Braga

Я понимаю, в этом есть большой смысл. Как я могу получить этот параметр имени файла, который находится в матрице аргументов? внутри моего заявления?

потому что до сих пор я учился "взаимодействовать" в приложении в основном с тем, что делает пользователь, но только тогда, когда оно уже открыто. Я не знаю, как я мог бы сделать это, чтобы получить параметр местоположения и имени файла, который "вызывается" при запуске

Richard MacCutchan

Просто измените код в своем основном методе, чтобы захватить имя файла при запуске. Если файл не представлен, то вы переходите к обычному пользовательскому вводу.

João Henrique Braga

Если я сохраню одну базу данных, как я могу заставить приложение открыть приложение с его конкретным проектом? (Я привел практический пример того, что я пытаюсь сказать выше)

Richard MacCutchan

Вам понадобится дополнительная информация в базе данных, которая идентифицирует активный проект. Простая таблица с идентификатором проекта, который будет указывать на правильную таблицу(ы) для проекта. Технические аспекты этого не сложны, это этап проектирования, который требует мышления и планирования.

João Henrique Braga

Я понял, я мог бы это сделать !! но если бы я это сделал, то рассмотрение проектов должно было бы быть исключительно в рамках моей заявки, верно? (пользователь не будет иметь доступа к файлу "teste.txt" (цитируя приведенный мною пример), чтобы иметь возможность удалять непосредственно)

Richard MacCutchan

Как я уже сказал вчера, управление и контроль ваших данных полностью зависит от вас. Однако вы хотите управлять им, это должно быть решено на этапе проектирования и планирования, который вам нужно пройти.