![]() |
|
Модераторы: gambit |
![]()
|
|
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Когда в VS2005 создается типизированный DataSet, то одним из шагов является задание строки подключения, которая хранится в Properties.Settings.settings
"Берется" она от туда из автоматически сгенерированного студией кода, так что править этот код "вручную" - не выход. Как я понял, значения Settings только для чтения и изменять их в RunTime нельзя. А если я хочу изменить путь к базе, не перекомпилируя приложение? Как это сделать? Заранее спасибо. -------------------- Разочарованный в .NET |
|||
|
||||
| -ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 4 Всего: 13 |
понятное дело что на этапе создания типизированного DS студии надо конкретные параметры БД.
а что тебе мешает написать в конфигурационный XML-файл (в тот же .exe.config) строку подключения, и при запуске приложения читать ее.
-------------------- "Тонкая, однако, работа." |
|||
|
||||
| Softaz |
|
||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Какой conn??? он же создает такой код:
И из других файлов я не нашел способа его изменить (если, конечно, public'ком не сделать). Вот в этом и вопрос. -------------------- Разочарованный в .NET |
||||
|
|||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 1 Всего: 17 |
Хранение информации в отдельном файле... как, например, в конфигурационном XML-нике описывается
здесь Это сообщение отредактировал(а) Wanderer2019 - 9.6.2006, 09:38 |
|||
|
||||
| Softaz |
|
||||||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Епрст. Спасибо, конечно. Однако я знаю КАК ХРАНИТЬ. Проблема в другом. Вот этот код:
делает VisualStudio2005 и помечает как auto-generated, так что править его вручную нельзя. Сама переменная _connection помечена как private, так что доступа из другого класса нет. InitConnection() - тоже, как видно из кода. Создание нового экземпляра класса и присвоение Connection строки подключения - тоже не выход. Вы меня понимать? Добавлено @ 17:45 Мне нужно в _connection записать что-то вроде
Вместо созданного студией
-------------------- Разочарованный в .NET |
||||||||
|
|||||||||
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Всем спасибо. Вопрос решен.
Заинтересовался, а что это в строке подключения за |DataDirectory|. Нашел в MSDN ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxdeploy/html/be5cbe12-6cb6-49c9-aa59-a1624e1eef3d.htm After your application has these permissions, it can access the Data Directory by using method calls on classes within the System.IO. You can obtain the path of the Data Directory within a Windows Forms application by using the GetData method to retrieve the value of the DataDirectory variable. This value is also available using the DataDirectory property defined on the CurrentDeployment property of ApplicationDeployment. You can also obtain the data directory path using the relevant variables on the Application class, such as LocalUserAppDataPath. И родился такой код:
-------------------- Разочарованный в .NET |
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
а я ручками поменял в Settings и все ... если ты dataset создал и не трогает, то и код повторно не генериться
|
|||
|
||||
| rulon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 27.6.2006 Репутация: нет Всего: нет |
Если есть датасет, сгенерированный автоматически, значит должен быть биндинг навигатор и дата грид виев =)) , и ещё рядышком где то валяется табле адаптер, если это так - тогда можно сделать след. образом, как поступил когда то я: // передаём информацию о подключении в форму реадктирования // информации о диллерах DillerEditForm.main_infoTableAdapter.Connection.ConnectionString = this.ConnectionString; DillerEditForm.skidka_infoTableAdapter.Connection.ConnectionString = this.ConnectionString; А коннектион стринг та что this.ConnectionString ничто иное как наполовину вручную, наполовину автоматически сгенерированная исходя из информации предоставленной пользователем строка подключения: ConnectionString = "Data Source=" + this.cb_selectserver.Text.Trim() + ";" + "Initial Catalog=diller_info;" + "User ID=" + this.tb_user.Text.Trim() + ";" + "Password=" + this.tb_passwd.Text.Trim(); А то что в сурсах валяется строка подключени - так я уже и подзабыл как то в процессе разработки |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Softaz, другой хороший вариант решения проблемы - добавить классу датасета свою "нашлёпку" в виде partial class-файла, в котором объявляешь частичный класс с тем же именем, что у датасета, и выносишь _connection в виде открытого свойства. Либо делаешь свой конструктор, зачитывающий connection string после отработки base-конструктора.
-------------------- ![]() |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 4 Всего: 61 |
Именно так мы и делаем |
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Вот я тормозил ... а надо было то бобавить по 5 строчек к каждому классу
|
|||
|
||||
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
mr.DUDA, спасибо за "нашлепку" - хороший способ.
-------------------- Разочарованный в .NET |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |