Compact Framework 3.5 - строка соединения DataSet во время выполнения - PullRequest
1 голос
/ 19 мая 2011

Я нашел статью MS , в которой говорится, что я могу использовать свойство ConnectionString файла .XSD для изменения ConnectionString объекта DataSet во время выполнения.

Это устанавливает элемент в.Файл csproj с именем «RuntimeConnectionString».

Однако он не меняет ConnectionString таблицы-адаптера при его развертывании на устройстве Motorola MC9190-G (Windows Mobile 6.5.1).

AmЯ делаю что-то не так, или это ошибка?Каковы соответствующие / альтернативные параметры для изменения строки подключения для среды выполнения с Compact Framework?

Заранее спасибо

1 Ответ

0 голосов
/ 15 августа 2014

Я провел целый день в поисках решения этой проблемы. Похоже, что это ошибка Visual Studio (я использую VS2008Professional и тоже застрял на этом). Два возможных действия в этом случае: 1) Измените tableAdapter (TA) connectionString вручную непосредственно перед созданием TA (перед фактическим открытием соединения с БД).

// something like this:
if (storageDataSetUtil.DesignerUtil.IsRunTime())
{
    // path to database file in my mobile device
    this.employeesTableAdapter.Connection.ConnectionString = @"/Program Files/MyApp/data/storage.s3db";

    // VS2008-generated code for auto-filling table at runtime:
    this.employeesTableAdapter.Fill(this.storageDataSet.employees);
}

2) Использовать оператор '| DataDirectory |' (без кавычек) в connectionString для вашего TA. В конструкторе (схеме) dataSet выберите TA и покажите его свойства. Разверните поле «Соединение» и выберите соединение, которое вы НЕ используете для подключения к базе данных (VS2008 обычно создает такое, когда вы связываете dataSet с элементами управления WinForms. Создайте новое соединение для TA вручную, если нет). Таким образом, connectionString для подключения к базе данных остается без изменений. Использование | DataDirectory | позволяет вам использовать относительные пути к вашему файлу БД и в большинстве случаев быть независимым от платформы. Что касается меня, это помогает. Надеюсь, это вам тоже поможет.

P.S. Извините за плохой английский)

...