По причинам, которые слишком длинны для объяснения в моем приложении .Net Win-Form, я использую одну глобальную OleDbConnection для подключения БД доступа.Когда мне нужно, я открываю и закрываю соединение, но обычно соединение остается открытым.Проблема в том, что иногда чтение данных не возвращает обновленные данные:
Using cm As New OleDb.OleDbCommand(sQuery, cn)
Using rd As OleDb.OleDbDataReader = cm.ExecuteReader()
If rd.HasRows Then
If rd.Read() Then
Me.txtBrand.Text = rd.Item("MA_BRAND")
End If
End If
rd.Close()
End Using
End Using
В то время как при использовании нового соединения я получаю правильные данные:
Using cn As New OleDb.OleDbConnection(sConnectionString)
cn.Open()
Using cm As New OleDb.OleDbCommand(sQuery, cn)
Using rd As OleDb.OleDbDataReader = cm.ExecuteReader()
If rd.HasRows Then
If rd.Read() Then
Me.txtBrand.Text = rd.Item("MA_BRAND")
End If
End If
rd.Close()
End Using
End Using
cn.Close()
End Using
Мне нужноиспользуйте глобальное соединение, тогда мое решение это
cn.Close()
cn.Open()
Using cm As New OleDb.OleDbCommand(sQuery, cn)
Но я спрашиваю: есть ли лучшее решение для обновления OledbConnection?
Спасибо!Pileggi