問題タブ [sqlconnection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
48383 参照

sql - ExecuteReader には、オープンで使用可能な接続が必要です。接続の現在の状態は閉じています

わかりました、今週初めにこのエラーについて尋ねたところ、非常に役立つ回答がいくつかありました。提案に従って始めてから、間違いなく状況は大幅に改善されました.

ただし、現在、データベースにアクセスするための「正しい」ベストプラクティスの方法を使用していますが、一部の関数でこのエラーが発生し、そのブロックでエラーを消すことができません。これが私のコードです:

今、私が何をしても、ExecuteReader にはオープンで利用可能な接続が必要です。接続の現在の状態は閉じています。この接続で。このクラス内で同じものと呼ばれるオブジェクトを持つ関数 (cmd、dr など) がありますが、Using はそれ自体の後にクローズアップしますか?

提案を歓迎します:)

0 投票する
6 に答える
70891 参照

.net - SqlCommand.CommandTimeoutとSqlConnection.ConnectionTimeoutの違いは何ですか?

SqlCommand.CommandTimeout.NETと.NETに違いはありSqlConnection.ConnectionTimeoutますか?

0 投票する
6 に答える
21939 参照

c# - SQL Server への接続をいつ開いて閉じる必要があるか

いくつかのメソッドを含む単純な静的クラスがあります。これらの各メソッドは、SqlConnection を開き、データベースにクエリを実行して、接続を閉じます。このようにして、私は常にデータベースへの接続を閉じていると確信していますが、一方で、接続を常に開いたり閉じたりするのは好きではありません。以下は、私のメソッドがどのように見えるかの例です。

メソッドが静的クラス内にあることを考えると、単一の SqlConnection を含む静的メンバーを持つ必要がありますか? いつ、どのようにドロップすればよいですか?ベストプラクティスは何ですか?

0 投票する
4 に答える
988 参照

.net - SqlConnection-リモート接続ですか、それともローカル接続ですか?

SqlConnectionオブジェクトがある場合、それがローカル接続(localhostまたは127.0.0.1)であるか、リモート接続(ローカルエリアの他のマシン)であるかをどのように判断できますか?

0 投票する
5 に答える
1033 参照

c# - コードをusingステートメントにリファクタリングする

私は多くのメソッドを備えたdal層を持っており、それらはすべてストアドプロシージャを呼び出し、一部のリターンリスト(を使用してSqlDataReader)を呼び出し、その他は特定の値のみを呼び出します。

を作成するヘルパーメソッドがありますSqlCommand

これで、私の平均的な(過度に単純化された)メソッド本体は次のようになります。

これをリファクタリングして、ヘルパー関数を失わないようにする方法はありますか(それ以外の場合はかなりの反復作業を行います)、それでも使用できますusingか?

0 投票する
4 に答える
4739 参照

c# - SQLServer接続の管理

SQL接続のベストプラクティスは何ですか?

現在、私は以下を使用しています:

これはSQL接続を行うための非常に効果的な方法であることを読みました。デフォルトではSQLプーリングがアクティブであるため、usingコードが終了するとSqlConnectionオブジェクトは閉じられて破棄されますが、DBへの実際の接続はSQL接続プールに入れられます。私はこれについて間違っていますか?

0 投票する
8 に答える
16216 参照

c# - カスタムオブジェクトの関数でC#の'using'ステートメントを使用して、IDisposableを実装する必要がありますか?

私は次のようなsqlConnectionマネージャークラスを持っています:

次のような'using'ステートメントで関数を使用する場合:

usingステートメントconn.Connection()はSqlConnectionオブジェクトを返すため、接続を自動的に破棄しますか?または、SqlConnクラスにIDisposableとカスタムDisposeメソッドを実装する必要がありますか?

これはまったく良い方法ですか?レガシーコードを使用していますが、まだORMを使用できませんが、この既存のパターンを単純化してSQL接続を管理/作成する方法はありますか?

0 投票する
4 に答える
4623 参照

asp.net - ASP.NET で DB を呼び出した後、SQL への接続が閉じない

ASP.NET でストアド プロシージャを呼び出す汎用メソッドがあります。

CommandBehavior.CloseConnection を呼び出していますが、接続が閉じていません。初めてページをリクエストしたときに、データをうまく取得できます。リロードすると、次のエラーが表示されます。

接続は閉じられませんでした。接続の現在の状態はオープンです。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.InvalidOperationException: 接続が閉じられませんでした。接続の現在の状態はオープンです。

ソース エラー:

35 行目: 36 行目: } 37 行目: sql.Connection.Open(); 行 38: iReader = sql.ExecuteReader(CommandBehavior.CloseConnection); 行 39: sql.Dispose();

最後に sql.Connection.Close(); を入れたら 前に sql.Dispose(); iReader は既に閉じられているため読み取れないというエラーが表示されます。

明らかに、接続を誤って閉じています。誰かが私を正しい方向に向けることができますか?