問題タブ [sqlcommand]

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 投票する
4 に答える
2900 参照

c# - SqlConnection オブジェクトにはどのパターンが適していますか?

オブジェクトにはどのパターンが適していSqlConnectionますか? 性能的にはどちらが優れていますか?他のパターンはありますか?

VS

0 投票する
2 に答える
9963 参照

c# - C# - 出力 SqlParameter は、指定された値とは異なる値を使用しますか?

2 つの整数出力パラメーターを含むストアド プロシージャを実行する SqlCommand があります。SqlCommand が実行される直前に、出力パラメーターが正しい値に設定されていることがわかりますが、コマンドが実際に実行されると、パラメーターの設定に関係なく、パラメーター 1 に NULL が使用され、パラメーター 2 (SQL プロファイラーを使用して検証されます) に 0 が使用されます。 .

コードの簡略化されたバージョンは次のとおりです。

私はここで2つの異なることに混乱しています:

1) パラメータの値を使用しないのはなぜですか? 直前にブレークポイントを配置command.ExecuteNonQuery()して、command.Parameters リストに出力パラメーターが正しく設定されていることを確認できますが、クエリが実行されると、SQL プロファイラー トレースには異なるパラメーターが含まれます。

2) 両方のパラメータは整数であり、まったく同じ方法で定義されています - なぜ一方が NULL に設定され、もう一方が 0 に設定されているのですか??

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

c# - SqlCommand.Cancel()により、パフォーマンスが向上しますか?

私はこれがコードのいくつかの場所に表示されるのを見ましたが、説明はなく、その上に不可解なコメントがあります(コンテキストのアイデアのために宣言と実行が含まれています。これはSqlCommandを実行するための標準的な手順です)。

基本的に、クエリを終了すると、元に戻ってキャンセルし、パフォーマンスが向上したと主張します。XmlReaderが解放されたときにメモリが戻ってくる可能性があると思いますが、通常はとにかくスコープから外れようとしています。

私はこれまで気にしたことがありませんが、レビューしているコードにようやく現れました。コードで実行した後にSqlCommandをキャンセルすると、実際にはどういうわけかスピードアップしますか、それともこれは単なる奇妙なプログラマーの迷信ですか?

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

.net - レコードを返さないストアド プロシージャを実行すると、.Net SQLCommand がタイムアウトする

誰かが助けることができるのだろうか?

レコードを返さないストアド プロシージャを実行すると、タイムアウトになる SqlCommand オブジェクトに問題があります。

ストアド プロシージャは複雑ではなく、単純なSELECT ColumnA, ColumnB, ... FROM TableA WHERE Id = @Idタイプのものです。Sql Managment Studio で SP を実行すると、すぐに戻ります。

ただし、コマンドを実行して DataAdapter を埋めるか、「イミディエイト ウィンドウ」からコマンドを手動で実行しようとすると、コマンドが作成されてパラメータが入力されると、常にタイムアウトになります。

SqlCommandBuilder の DeriveParameters() メソッドを使用して SqCommand パラメーターを設定し、コレクションを反復処理して値を設定します。次に、DataAdapter.SelectCommand を SqlCommand の参照に設定し、DataAdapter の fill メソッドを呼び出します。

このコードは、データを返す任意の SP で正常に動作するように見えますが、行が返されないとボークします。

誰かがこれを経験したことがあり、正しい方向に私を向けることができますか?

前もって感謝します、よろしく、デュアン。

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

c# - SqlCommand-クラスはSELECTのみを強制しますか?

私はSQL監視用のアプリケーションを開発しています。これは、多数のサーバーで5分ごとに実行される単なるコンソールアプリケーションです。接続文字列とSQLクエリを含む構成ファイルがあります。問題は、プログラムがSELECTクエリのみを受け入れるようにしたいということです。

私の同僚は、私がSqlCommandクラスに何かを設定できると思ったと言ったが、私はしばらくの間グーグルして成功しなかった。誰かが私の問題のクリーンな解決策を手に入れましたか?クエリでさまざまな単語を検索することを考えましたが、うまくいかない可能性があります。

どんな提案でも大歓迎です!

0 投票する
2 に答える
1272 参照

c# - SqlCommandを使用してselectサブクエリで挿入

ネストされたselectでINSERTステートメントを使用すると問題が発生します。クエリはSQLManagementStudioで実行すると機能しますが、コードで実行するとエラーが返されます。

クエリは次のようになります。

)。

返されたエラー:

別の選択クエリを実行する以外に、ステータスのIDがわからないため、これについての説明はありますか?また、この問題を解決するにはどうすればよいですか?

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

tsql - SqlCommandパラメータを食べる+

私はこれを持っています:

しかし、パラメータ化により+が完全に消去され、目的のの代わりにがa残ります。+その場所が必要です。削除するのではなく、エスケープしたいだけです。a aa+a

+を消去する代わりにエスケープするようにC#に指示する方法はありますか?.NET Framework 2.0を使用していますが、アップグレードするオプションがありません。

0 投票する
2 に答える
993 参照

c# - テーブルに複数の行を追加するにはどうすればよいですか?

* sql = "INSERT INTO Warehouse(title、count、price、date)SELECT @ title0、@ count0、@ price0、@ date0 UNION ALL SELECT @ title1、@ count1、@ price1、@ date1;"

それから彼は例外を飛ばします

')'の近くの構文が正しくありません

明確化-カウント-整数、価格-ダブル、日付-日付

私は何が間違っているのですか?

編集:表

SQLServer2008を使用しています

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

.net - オーバーロードされた Add が AddWithValue に置き換えられたのはなぜですか?

オーバーロードされたメソッドSqlParameterCollection.Add(String, Object)は、.NET Framework のバージョン 3.5 SP1 以降、非推奨としてマークされています。バージョン 2.0 で導入されたAddWithValue()メソッドを使用する必要があります。

Add(String, Object) が AddWithValue() に置き換えられた正当な理由はありますか? 変更には問題ありませんが、変更が行われた理由が気になります。

0 投票する
1 に答える
1211 参照

design-patterns - SqlConnectionとSqlTransactionの両方がSqlCommandコンストラクターに存在するのはなぜですか?

SqlCommandこのコンストラクターがオーバーロードする理由は何でしょうか。

SqlTransaction引数として提供されたトランザクションを使用してビットを実行する内部メソッドを作成する必要がある場合、接続は明らかにであるため、常にそのメソッドにのみ渡すだけで十分であることがわかりますtran.Connection
同じことがこの過負荷にも当てはまりませんか?cmdText合格するだけでは十分ではないでしょうtransactionか?

のに対して開かれたものSqlCommandを提供して、接続に対して実際に実行することは可能ですか?これは何になりますか?SqlTransaction SqlConnection