(Работает Elapsed timer
Создан коннектор OLEDB ну и
connection.open
execute.nonquery
connection.close)
В коннекторе указана база данных без полного пути,
тобишь искать в том же каталоге что и сама прога,
те в рабочем каталоге.
Так вот при открытии окна диалога
"убегает" текущая директория
Делаю
- Код: Выделить всё
Dim OpenFileDialog1 As New OpenFileDialog
Dim sb As New System.Text.StringBuilder
With OpenFileDialog1
.InitialDirectory = "C:\" 'или текущая
With sb
.Append("*.exe")
.Append("|*.exe")
.Append("|*.com")
.Append("|*.com")
.Append("|*.bat")
.Append("|*.bat")
End With
.Filter = sb.ToString
.RestoreDirectory = True
If .ShowDialog() = DialogResult.OK Then
Return .FileName
End If
Если пользователь начнёт с текущей директори а потом будет просматривать диск - то при попытке установить соединение с базой данных произойдёт ошибка.
И это верно, т.к. полный путь к базе не указан,
а текущая директория изменилась.
Можно конечно:
- получить и прописать полный путь к базе в коннекшн стринг
- остановить таймер на время просмотра пользователем
OpenFileDialog
- изменить текущую директорию и переопределитть коннекшн стринг каждый раз при записи а потом возвращать исходное значение.
Вопрос - кто придумает умнее выход из положения
Спасибо