VB.NET OleDbDataAdapter.Fill で DataTable が Nothing になることがある。

MDBにOleDbDataAdapter で sql を発行して DataTable を取得しています。

 

レコード件数がなければ、Table.Rows.Count = 0 になります。

ということで、

Dim Table  As DataTable = GetTable("select * from MasterTable1;") 

For i as Integer = 0 to Table.Rows.Count -1

    MessageBox.Show(Table.Rows(i)(0))

Next

 

のようなコードを書いているのですが、

 

時折原因のわからないエラーが起きていました。

調べてみると、

  Table に OleDbDataAdapter.Fill したときに、

Table がNothing になることがあるのです。

データが取得できずに空になっているのですが・・・。

そうなると、Table.Rows.Count のところで例外が飛びます。

 

原因として考えられるのは、LANケーブルの中途半端な損傷等の、ネットワークの物理的な問題。もしくは、ネットワーク構成の問題か。。。

現象の多発するPCのLANケーブルはつぶれており、中途半端な損傷が発生していた可能性が高いです。

 

といことで、

Dim Table  As DataTable = GetTable("select * from MasterTable1;") 

If Not Table Is Nothing Then

   For i as Integer = 0 to Table.Rows.Count -1

      MessageBox.Show(Table.Rows(i)(0))

   Next

End If

 のようにすれば、例外は出なくなります。