私の .Net Win-Form アプリケーションで説明するには長すぎる理由により、単一のグローバル OleDbConnection を使用して Access DB に接続します。必要に応じて接続を開いたり閉じたりしますが、通常、接続は開いたままです。問題は、データの読み取りが更新されたデータを返さない場合があることです。
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 を更新するためのより良い解決策はありますか?
ありがとうございました!ピレッジ