SQLコマンドが適切に破棄されているかどうかをどうやって知ることができますか?

新韓

SQLコマンドが適切に破棄されているかどうかをどうやって知ることができますか?

私の問題は、sqlcommandがnullと同等ではないため、コードが常にfalseを返すことです。

どうすればこの問題を修正できますか?

これが私のコードです:

private SqlCommand Command()
    {
        cmd = new SqlCommand(QueryStr, Connection);
        cmd.StatementCompleted += new StatementCompletedEventHandler(cmd_StatementCompleted);
        return cmd;
    }

    private void cmd_StatementCompleted(object sender, StatementCompletedEventArgs e)
    {
        ((SqlCommand)sender).Dispose();
    }

    public object GetScalarResult()
    {
        Command();

        cmd.CommandType = CommandType;

        con.Open();

        return cmd.ExecuteScalar();
    }

    public bool IsDisposedChecker()
    {
        if (cmd == null)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

IsDisposedChecker関数は常にfalseを返すため、sqlcommandが適切に破棄されませんか?

ジェロエン・ファン・ランゲン

Dispose()ポインタをnullにリセットしませしたがって、ISDisposedChecker関数はこのようには機能しません。

Disposeはデストラクタではありません。


私はdispose-checkerを実装しません。結果としてSqlCommandを返したい場合は、呼び出し元のメソッドにDisposeの責任を負わせます。

private SqlCommand Command()
{
    cmd = new SqlCommand(QueryStr, Connection);
    return cmd;
}

private void Test()
{
    // a using block is very safe, it will dispose the command 
    // even when exceptions are thrown.
    using(SqlCommand command = Command())
    {
        // do your thing....
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

何らかの方法が適用されていることをどうやって知ることができますか?

分類Dev

Ubuntuにg ++がインストールされていることをどうやって知ることができますか?

分類Dev

Ubuntuメンバーになってからどれくらい経ったかをどうやって知ることができますか?

分類Dev

Ubuntuメンバーになってからどれくらい経ったかをどうやって知ることができますか?

分類Dev

OutlookでContactItemが表示されているかどうかを確認する方法(適切に破棄する)

分類Dev

Chromeがインデックス付きデータベースアイテムを破棄していることをどうやって知ることができますか?

分類Dev

Linuxのどこに物を置くかをどうやって知ることができますか?

分類Dev

kubuntuを使用していることをどうやって知ることができますか?

分類Dev

Wget segfault ---どのサイトがこれを引き起こしているのかをどうやって知ることができますか?

分類Dev

与えられた点が2次元の長方形を形成しているかどうかをどうやって知ることができますか

分類Dev

トルネードですべての先物が解決されたことをどうやって知ることができますか?

分類Dev

C ++:C ++は、コンテナー内のスマートポインターを破棄することをどのように知っていますか?

分類Dev

UIImageがIOSにロードされていることをどのように知っていますか?

分類Dev

押しボタンが切り替えられているかどうかをどのように知ることができますか?

分類Dev

私が取り組んでいるプロジェクトがsymfonyであるかどうかをどうやって知ることができますか?

分類Dev

私のmongodbコレクションが削除されました。何が起こったのかをどうやって見ることができますか?

分類Dev

Linuxのどのタイプのプロセスがこれらに使用するかをどうやって知ることができますか?

分類Dev

モジュールのfs.readFile、それがどこにあるかをどうやって知ることができますか?

分類Dev

作成中のモジュールのクラスメソッドからPromiseが返されるのを待っていますが、それを取得しますが、コンテキストがおかしいです。どうすれば適切に待つことができますか?

分類Dev

Androidアプリケーションが閉じていることをどうやって知ることができますか?

分類Dev

`yo`がどこから実行されているかをどうやって知ることができますか?それが実行される場所を指定する方法は?

分類Dev

Dockerビルドがハングします。何が起こっているのかをどうやって見ることができますか?

分類Dev

Ubuntu 18.04で通知を見逃したことをどうやって知ることができますか?

分類Dev

ドキュメントがApache2.2またはApache2.4を扱っているかどうかをどうやって知ることができますか?「印象的な」基準はありますか?

分類Dev

プログラムの実行にrootが必要かどうかをどうやって知ることができますか?

分類Dev

プログラムの実行にrootが必要かどうかをどうやって知ることができますか?

分類Dev

フィールドがnullに設定されていることをどのようにして知ることができますか?

分類Dev

関数はPythonですでにマルチプロセスされているかどうかを知ることができますか(joblib)

分類Dev

RStudioが実行されていることをどのように知っていますか?

Related 関連記事

  1. 1

    何らかの方法が適用されていることをどうやって知ることができますか?

  2. 2

    Ubuntuにg ++がインストールされていることをどうやって知ることができますか?

  3. 3

    Ubuntuメンバーになってからどれくらい経ったかをどうやって知ることができますか?

  4. 4

    Ubuntuメンバーになってからどれくらい経ったかをどうやって知ることができますか?

  5. 5

    OutlookでContactItemが表示されているかどうかを確認する方法(適切に破棄する)

  6. 6

    Chromeがインデックス付きデータベースアイテムを破棄していることをどうやって知ることができますか?

  7. 7

    Linuxのどこに物を置くかをどうやって知ることができますか?

  8. 8

    kubuntuを使用していることをどうやって知ることができますか?

  9. 9

    Wget segfault ---どのサイトがこれを引き起こしているのかをどうやって知ることができますか?

  10. 10

    与えられた点が2次元の長方形を形成しているかどうかをどうやって知ることができますか

  11. 11

    トルネードですべての先物が解決されたことをどうやって知ることができますか?

  12. 12

    C ++:C ++は、コンテナー内のスマートポインターを破棄することをどのように知っていますか?

  13. 13

    UIImageがIOSにロードされていることをどのように知っていますか?

  14. 14

    押しボタンが切り替えられているかどうかをどのように知ることができますか?

  15. 15

    私が取り組んでいるプロジェクトがsymfonyであるかどうかをどうやって知ることができますか?

  16. 16

    私のmongodbコレクションが削除されました。何が起こったのかをどうやって見ることができますか?

  17. 17

    Linuxのどのタイプのプロセスがこれらに使用するかをどうやって知ることができますか?

  18. 18

    モジュールのfs.readFile、それがどこにあるかをどうやって知ることができますか?

  19. 19

    作成中のモジュールのクラスメソッドからPromiseが返されるのを待っていますが、それを取得しますが、コンテキストがおかしいです。どうすれば適切に待つことができますか?

  20. 20

    Androidアプリケーションが閉じていることをどうやって知ることができますか?

  21. 21

    `yo`がどこから実行されているかをどうやって知ることができますか?それが実行される場所を指定する方法は?

  22. 22

    Dockerビルドがハングします。何が起こっているのかをどうやって見ることができますか?

  23. 23

    Ubuntu 18.04で通知を見逃したことをどうやって知ることができますか?

  24. 24

    ドキュメントがApache2.2またはApache2.4を扱っているかどうかをどうやって知ることができますか?「印象的な」基準はありますか?

  25. 25

    プログラムの実行にrootが必要かどうかをどうやって知ることができますか?

  26. 26

    プログラムの実行にrootが必要かどうかをどうやって知ることができますか?

  27. 27

    フィールドがnullに設定されていることをどのようにして知ることができますか?

  28. 28

    関数はPythonですでにマルチプロセスされているかどうかを知ることができますか(joblib)

  29. 29

    RStudioが実行されていることをどのように知っていますか?

ホットタグ

アーカイブ