1 | |
.NET 2.x Изменить путь к БД, хранящийся в settings22.02.2012, 08:11. Показов 6224. Ответов 27
Метки нет (Все метки)
Доброго дня. Для небольших приложений использую визуальные средства проектирования. При этом в настройках проекта, в settings создается item(string). При попытках его изменить программно, пишет то он только для чтения, т.е. что я хочу изменять путь к базе, например через ini, что бы путь в настройках менялся. Пробовал эти настройки в xml, но там тогда видна вся строка подключения включая и пароль. В общем вроде правильно выразился, как это сделать. спс
0
|
22.02.2012, 08:11 | |
Ответы с готовыми решениями:
27
Изменить пароль, хранящийся в md5 Путь к Settings.settings По нажатию на кнопку считывается Settings.xml, а в нем уже путь к файлу Изменить Data Source в settings через OpenFileDialog |
2756 / 2059 / 384
Регистрация: 22.07.2011
Сообщений: 7,781
|
|
22.02.2012, 14:08 | 2 |
что за визуальные средства и проектирования чего ?
0
|
23.02.2012, 08:04 [ТС] | 3 |
Не программно, а визуально, средствами студии, после создания подключения, перетаскиванием на форму грида при этом создаются все необходимые для работы с базой компоненты, и в сеттинге хранится путь к базе, но только для чтения. Так понятно?
0
|
2756 / 2059 / 384
Регистрация: 22.07.2011
Сообщений: 7,781
|
|
23.02.2012, 12:49 | 4 |
0
|
10.03.2012, 08:31 [ТС] | 5 | |||||
Не нашел решения. Единственное, что нашел, в Setting делаю connecticonstring изменяемым не application а user. Тогда можно connecticonstring изменять, но при этом в C:\Documents and Settings\***\Application Data создается папка и именем программы, где красиво лежит xml с полным путем к базе и паролем. Делаю например так:
0
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
11.03.2012, 13:20 | 6 |
sua дело говорит, а точнее пишет))! Благодаря ему я с этой темой и разобрался (за что ему большое спасибо) ).
Вот тут Организация авторизации для приложения разбирался с похожей темой. Не уверен но может помочь. А насчет удаления... можно же поставить проверку на существование файла и если его нет, то создавать.
0
|
11.03.2012, 19:49 [ТС] | 7 |
Какой файл создавать? Ничего не понял.
Суть, повторюсь. Создается типизированный датасет, путем перетаскивания созданных через визард данных подключения. В Setting приложения создается ConnecticonString, только для чтения(изменение разрешено только апликашион), меняю на юзер, строка изменяется, в ней создается xml с данными это приложения, пытаюсь менять как написал выше, создается xml с полными данными о подключении, вкл пароль. Если его удалять, прога работать не будет. Если его изменить или удалять пр и загрузке, прога не запустится т.к. от туда и берет при загрузке строку, без всяких ошибок просо будет висеть в процессах. А если я хочу в другом месте хранить путь, но задавать значение ConnecticonStrin программно , как то все очень сложно придумано. Если через ConfigurationManager, то все равно через setting, а я например хочу в ini хранить, но повторюсь что датасет типизированный, HELP...
0
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
11.03.2012, 20:15 | 8 |
Итак, начнем по порядку!
Когда мы добавляем в проект типизированный датасет, то вместе с ним создается файл app.config (файл именно так и называется.). Так вот... этот файл является шаблоном и его копия создается при компиляции проекта (хотя если его удалить копия все равно создаться). Созданная программа при организации подключения к БД обращается к этому файл и по информации в нем устанавливает соединение. Файл, кстати, называется <app>.exe.config, где в данном случае app - название проекта (проги). Вот этом файле и можно программно менять и сохранять сведения о строке соединения с любыми настройками. Я советую все таки использовать именно файл app.exe.config иначе нужно будет придумывать геморой на свою хм.. голову. Так вот, чтобы обезопасить себя от удаления файл app.exe.config можно при запуске проги проверять этот файл на существование и в случае необходимости создавать его. В контексте этого в чем вопрос? (про использование файла .ini меня не спрашивать)) )
0
|
11.03.2012, 21:28 [ТС] | 9 |
Вопрос в том, что нафиг он нужен (app.config), если путь с паролем и прочей инфой. Пробовал уже программно дописывать пароль, ругается, что строка не того формата. Слышал, что можно шифровать, но все же. А мож простому юзеру нужно будет поменять, зачем другие секции видеть что в app.config.
0
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
11.03.2012, 23:38 | 10 |
Передо мной к сожалению не стоял вопрос шифрования, но я видел этот раздел в msdn, когда копался по ссылке sua. Я написал только потому что увидел фразу: Если будет тоже самое только с шифрованием - поделись плиз!
0
|
12.03.2012, 11:23 [ТС] | 11 | |||||||||||||||
Ладно, откинем все непонятки, вот конфиг
то файл выглядит так
Кипит котелок)
0
|
19.03.2012, 16:58 | 13 | |||||
Сильно долго проблемой не увлекался, но пока-что есть такая возможность
К сожалению сохранить строку так и не удалось (на метод Save не реагирует), предполагаю, что из-за Scope=Application
0
|
19.03.2012, 18:11 [ТС] | 14 | ||||||||||
На vb не катит...
Properties is not declared, ссылка на System.Configuration есть. На vb такая строка, проходит
Может еще какую ссылку нужно? Т.е. класс датасета берет строку не с Setting?
0
|
19.03.2012, 20:57 [ТС] | 20 | |||||
Нио, прощу прощения, с путем запутался, да, спасибо большое за наводку, как сам не проверил.
Прогресс есть,
0
|
19.03.2012, 20:57 | |
19.03.2012, 20:57 | |
Помогаю со студенческими работами здесь
20
Как сделать чтобы текст введённый в richTextBox сохранялся в Settings.settings? Почему не сохраняются значения в settings.settings или как хранить параметры в самой программе? Левый хеш в имени папки для Settings.settings Нельзя привести setting из Settings.settings к типу FileSystemInfo Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |