2009-08-13 2 views
0

Я собираюсь разработать приложение Windows в .net, и я буду содержать несколько значений. (Максимум 20 значений).лучший способ хранения 2/3 записей [Приложение Windows]

Каков наилучший способ его хранения? Использование SQLIte кажется излишним.

My.Settings, похоже, иногда забывает значения.

Каков наилучший способ хранения этих значений?

XML хорошо?

+0

My.Settings иногда забывает о значениях? Можете ли вы дать более подробную информацию об этом? –

+0

В моем предыдущем приложении хранятся некоторые данные с использованием my.settings, а при запуске в Vista это, похоже, не сохраняет сохраненные значения. Об этом сообщили пользователи Amny. Надеюсь, что это ясно (?) – user153816

+0

Я немного потерял название ... вы говорите, что хотите сохранить 2/3 записи? Означает ли это «обычно 2 или 3 записи, но, возможно, до 20»? – Beska

ответ

0

Если вы считаете масштабируемость и на 100% уверены, что это будет не более 20 значений, а характер значений таков, что вы можете хранить в XML-файле, который вы должны изучить, храня его в приложении. config (или Web.config) вашего приложения. Или сохраните их во внешнем XML-файле по вашему выбору, если хотите - .NET имеет расширяемую поддержку для обработки XML-файлов, поэтому накладные расходы минимальны в случае нескольких записей.

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

0

XML в порядке, но даже текстовый файл в некотором delimited format в порядке, для нескольких записей.

0

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

key1: value1 
key2: value2 is longer 
key 3: this is value3 for key3. 

Упрощенный, более эффективный, чем загрузка XML-синтаксического анализатора.

+0

Но OP должен был бы написать парсер, не так ли? С XML, большая часть грязного кода синтаксического анализа уже предоставляется библиотекой .Net. –

+0

Действительно? infile.readline(); ключ = str.substr (":"); 10 строк вершин кода, где я никогда не писал код анализа XML меньше. Затем я снова нахожу JAXP очень многословным, а dom4j не намного лучше. –

2

Я бы рекомендовал создать собственный класс для хранения данных и использовать общий список для управления коллекцией. Сериализуйте/десериализуйте это в/из XML и voila - хранилище и строго типизированные данные.

0

Вы всегда можете сохранить значения в реестре Windows, используя функции SaveSetting, GetSetting, DeleteSetting. Они используют ключ реестра «HKEY_CURRENT_USER \ Software \ VB и VBA».