2017-01-13 8 views
0

Я сохранил только местоположение базы данных и имя базы данных в файле settings.settings. Я могу получить доступ к строке подключения из файла Settings.Settings во время отладки. Но когда я запускаю исполняемый файл, он не загружает базу данных, которую я использовал в строке подключения в файле settings.settings. Пользователь может динамически изменять файл настроек. В зависимости от потребностей пользователя. Моя строка подключения -Не удается получить доступ к файлу установки. Setting при запуске .exe

public static string sd =System.AppDomain.CurrentDomain.BaseDirectory.ToString(); 

public static string co = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sd +"\\Data\\"+ Properties.Settings.Default.db+".accdb"; 
+0

Так что же возвращает 'BaseDirectory.ToString()' и 'Properties.Settings.Default.db'? Можете ли вы зарегистрировать возвращаемое значение и посмотреть его. – CodingYoshi

+0

Да .. для целей тестирования я использовал MessageBox.Show(), который возвращает желаемый результат при отладке. Но когда я запускаю .exe, он показывает другую базу данных, которая не сохраняется в Properties.Settings.Default.db ..... BaseDirectory.ToString() также показывает желаемый результат. – mofidul

+0

Файл настроек изменяет его так, как это делается на приложение, а не на пользователя, если вы не хотите, чтобы он был основан на пользователе. Вы можете сделать это с использованием свойств проекта и перехода к настройкам. Также вы можете просто сохранить строку подключения в «AppSettings». Извините, я напишу ответ, но я нахожусь на своем мобильном телефоне. – CodingYoshi

ответ

1

Перейдите к объектам проекта и создайте приложение на основе вместо пользователей.

.The проблема я столкнулся сейчас, если пользователь должен динамически изменять файл settings.setting

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

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

EDIT

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

+0

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