プロが教えるわが家の防犯対策術!

visual studio2015 Express(VB.NET)からPostgresqlにODBC接続して処理をさせるコードなのですが、処理後のObjectの解放の方法が分かりません。

Reader = Nothing、Cmd = Nothing、myCon = Nothingで良いのでしょうか?

分かる方おられましたら教えてください。

よろしくお願いします。


Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim myCon As New Odbc.OdbcConnection("Provider=MSDASQL; DSN=postgresql;DATABASE=test;SERVER=localhost;PORT=5432;UID=test;PWD=test;")
Dim Cmd As Odbc.OdbcCommand
Dim Reader As Odbc.OdbcDataReader

Dim Cnt As Integer

myCon.Open()
Cmd = New Odbc.OdbcCommand("SELECT * FROM ××× ", myCon)
Reader = Cmd.ExecuteReader()

Cnt = 0

Do While Reader.Read()

MsgBox(Reader!テスト)

Cnt = Cnt + 1

If Cnt > 3 Then

Exit Do

End If
Loop

Reader.Close()
myCon.Close()

Reader = Nothing
Cmd = Nothing
myCon = Nothing



MsgBox("出来ました")
End Sub
End Class

A 回答 (1件)

= Nothingでも、ガベージコレクションのときに解放される可能性はありますが、そうならない場合もあります。


資源を明示的に解放するのはDIsposeメソッドです。
また、Usingを使うと便利に書けます。
詳しくはそれぞれの単語で検索してください。
    • good
    • 0
この回答へのお礼

Usingを使うと良さそうですね。
参考になりました。
どうも有り難うございました。

お礼日時:2017/10/29 13:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!