すいません、VB4しかやってないんです、VBAはやったけど(ぼそ) チラシの裏だって立派な書き込み空間なんだからねっ!資源の有効活用なんだからねっ!とか偉そうに言ってるけど、実は色々と書き残したいだけ

だからなに? どうしろと? くるみサイズの脳みそしかないあやしいジャンガリアンベムスターがさすらう贖罪蹂躙(ゴシックペナルティ)

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  632  : 記事  35  : コメント  11686  : トラックバック  143

ニュース


片桐 継 は
こんなやつ

かたぎり つぐ ってよむの

大阪生まれ河内育ちなんだけど
関東に住みついちゃったの
和装着付師だったりするの
エセモノカキやってたりするの
VBが得意だったりするの
SQL文が大好きだったりするの
囲碁修行中だったりするの
ボトゲ好きだったりするの
F#かわいいよF#

正体は会った人だけ知ってるの

空気読まなくてごめんなさいなの


わんくまリンク

C#, VB.NET 掲示板
C# VB.NET掲示板

わんくま同盟
わんくま同盟Blog


WindowsでGo言語
WindowsでGo言語


ネット活動


SNSは疲れました

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

イベント活動

プログラムの活動

かつてやった、とっても怖いVisualBasicのお話。

Imports System.Data.SqlClient

Module Module1

    Sub Main()

        Dim constr As String = "なんか接続文字列があると思ってv"
        Dim getTb As New DataTable

        Using sqcm As SqlCommand = New SqlConnection(constr).CreateCommand

            sqcm.CommandText = "select * from hoge"

            Using myad As New SqlDataAdapter(sqcm)

                myad.Fill(getTb)

            End Using

        End Using

    End Sub

End Module

これのusingが終わった時、実は、生成されていたSQLConnectionが破棄されずに残ってしまう、という現象が起きたの。かなり、かなり、当時、悩んだ。

実はここにその答えがあって、

Using ステートメント (Visual Basic)
http://msdn.microsoft.com/ja-jp/library/htd05whh(v=VS.100).aspx

resourceexpression

必ず指定します。resourcetype の要件を満たすシステム リソースを参照する変数または式です。2 番目の構文を使用する場合は、制御を Using ステートメントに渡す前にリソースを取得する必要があります。

と書かれている2番目の構文、がさっきの10行目の構文。つまり、Usingに使用する前に必ずリソースを取得しておく、ってところがミソ。

Imports System.Data.SqlClient

Module Module1

    Sub Main()

        Dim constr As String = "なんか接続文字列があると思ってv"
        Dim getTb As New DataTable

        Using sqcon As New SqlConnection(constr)

            Using sqcm As SqlCommand = sqcon.CreateCommand

                sqcm.CommandText = "select * from hoge"

                Using myad As New SqlDataAdapter(sqcm)

                    myad.Fill(getTb)

                End Using

            End Using

        End Using

    End Sub

End Module

こうすれば、usingステートメントで綺麗にオブジェクトは破棄されまする。

ちょっとした事なんだけどね。

Usingって聞いて、ちょっと、思い出した。

投稿日時 : 2010年9月1日 19:09

コメント

No comments posted yet.

Post Feedback

タイトル
名前
Url:
コメント