powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / изменить ConnectionStringSettingsCollection
10 сообщений из 10, страница 1 из 1
изменить ConnectionStringSettingsCollection
    #38705344
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добрый день, мне необходимо изменить ConnectionStringSettingsCollection
Есть подключеная БД, но авторизации с сохранением пароля я убрала , получилось что App.config не содержит данные по User b Password.
При авторизайии пользователя нужно чтоб его данные прописывались в ConnectionString

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
 If Not settings Is Nothing Then
            For Each cs As ConnectionStringSettings In settings
                            connectionString = cs.ConnectionString
                connectionString = connectionString + "User ID=" + UserName_ + ";Password=" + Password_
                cs.ConnectionString = connectionString
                
            Next
        End If


но выдает ощибку что
Код: pascal
1.
 Конфигурация только для чтения.


Как же мне тогда следует организовать подключение под БД(datasourse).
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38705798
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все таки ни как ни могу подобраться к App.config
открываю App.config через ConfigurationManager.OpenExeConfiguration()
если
Код: vbnet
1.
2.
 Dim exeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + "App.config"
        Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(exeConfigFilename )


результат создание файл App.config.config с новой строкой подключения.

В примерах в инете нашла следющую вариацию:
Код: vbnet
1.
Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)



в таком случае создается файл FilePath = "BInspector.vshost.exe.Config"
и изменения строки подключения рпоисходит именно в этих файлах
Код: vbnet
1.
2.
 ConfigurationManager.RefreshSection("connectionStrings")
        config.Save(ConfigurationSaveMode.Modified)
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706031
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tasha klemer,

Ну неужели ни кто не сталккивался с такой проблеммой???
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706108
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо ничего никуда сохранять. При старте приложения один раз сформируй правильную строку подключения и подсовывай её во все методы, в которых происходит общение с БД.
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706152
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НахлобучНе надо ничего никуда сохранять. При старте приложения один раз сформируй правильную строку подключения и подсовывай её во все методы, в которых происходит общение с БД.

есть у меня эта строка для динамически создаваемых таблиц..но кроме этого у меня в проекте есть еще DataSet Builder и вот к нему прописать по аналогии
Код: vbnet
1.
 adDirSortCheck = New SqlDataAdapter(cmd.CommandText, fLogin.connectionString)


не получается... да кажется и не совсем правильно.... смысл тогда в нем, если так же каждой таблице из DataSet прописывать ... вот для него я и не могу найти способ где эту строку подключения( User,Passord) прописать один раз для всех его обьектов.
Вроде он берет из config файла...
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706214
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tasha klemer,
у вас все ходит в базу через адаптер, у него торчит наружу строка соединение вот тут и меняйте
у вас типизированный датасет? ( о боже кто то еще им пользуется) что бы не получать в морду сделайте частичным.
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706414
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706421
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиtasha klemer,
у вас все ходит в базу через адаптер, у него торчит наружу строка соединение вот тут и меняйтеТам вообще Connection торчит... По идее...
Где-то в степи у вас типизированный датасет? ( о боже кто то еще им пользуется)"Ну, ква" (цэ)
Где-то в степичто бы не получать в морду сделайте частичным.Во-первых, он и так "частичный"...
Во-вторых, в адаптерах типизированного датасета тоже есть Connection - нужно только правильный модификатор доступа к нему указать...
В-третьих... чтобы "совсем хорошо"... в дизайнере при генерации адаптеров можно унаследоваться и от кастомных интерфейсов и классов вместо дефолтного System.ComponentModel.Component...
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706479
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степиtasha klemer,
у вас все ходит в базу через адаптер, у него торчит наружу строка соединение вот тут и меняйте

т.е. все же каждому адаптеру придется дописывать строку с явным указанием строки подключения.... правильно понимаю

Код: vbnet
1.
 TObjectConstrTableAdapter.Connection.ConnectionString = fLogin.connectionString





а нет возможности заменить один раз строку подключения в Disiner.VB
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Namespace BuildInspectorDataSetTableAdapters
    
    '''<summary>
    '''Represents the connection and commands used to retrieve and save data.
    '''</summary>
    <Global.System.ComponentModel.DesignerCategoryAttribute("code"),  _
     Global.System.ComponentModel.ToolboxItem(true),  _
     Global.System.ComponentModel.DataObjectAttribute(true),  _
     Global.System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class Dir_CategoryConstrTableAdapter
        Inherits Global.System.ComponentModel.Component
        
        Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter
        
        [color=red]Private _connection As Global.System.Data.SqlClient.SqlConnection[/color] 'например здесь, или все же свойтва SqlConnection только для чтения.???
        
        Private _transaction As Global.System.Data.SqlClient.SqlTransaction
        
        Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand
        
        Private _clearBeforeFill As Boolean



Как я поняла то для этого берется строки из App.config
[SRC VBPrivate _connection As Global.System.Data.SqlClient.SqlConnection][/SRC]

Код: xml
1.
2.
3.
<add name="BInspector.My.MySettings.BuildInspectorConnectionString"
            connectionString="Data Source="DataSourse";Initial Catalog=BuildInspector;"
            providerName="System.Data.SqlClient" />



но изменить App.config тоже нельзя во время выполнения программы т.к. все свойтва Configuration тоже только ReadOnly

Где-то в степиtasha klemer,
у вас типизированный датасет? ( о боже кто то еще им пользуется) что бы не получать в морду сделайте частичным.

да типизированный... первый проект..учусь на своих ошибках
...
Рейтинг: 0 / 0
изменить ConnectionStringSettingsCollection
    #38706750
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConnectionString всегда уровня App config, соответственно ее нельзя изменить.
Для того что-бы ее использовать в Вашем ПО измененной и не переписывать у всех адаптеров, нужно:
Сформировать нужную Вам ConnectionString и присвоить ее нужному Вам свойству.
Например в проекте у Вас она выглядет так Properties.Settings.Default.МоеПриложениеConnectionString
но так нельзя Properties.Settings.Default.МоеПриложениеConnectionString = newConnectionString
а вот так можно Properties.Settings.Default["МоеПриложениеConnectionString"] = newConnectionString
Правда данные не сохранятся, но работать-то будет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / изменить ConnectionStringSettingsCollection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]