問題タブ [sqlparameter]

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

c# - WHERE IN (ID の配列)

intの配列が渡されるWebサービスがあります。次のように選択ステートメントを実行したいのですが、エラーが発生し続けます。配列を文字列に変更する必要がありますか?

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

sql-server - パラメータに追加する変数のSQLDBTypeを決定するにはどうすればよいですか?

DBに格納する入力変数に応じて、パラメーターに割り当てるSQLDBTypeを決定するにはどうすればよいですか?テストするGetTypeと同等のものはありますか?

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

.net - SqlCommand はどのようにパラメーターをサニタイズしますか?

を使用SqlParametersすることは、データベース クエリでの SQL インジェクションを防ぐために推奨される方法です。これらのパラメーターを内部的にサニタイズするコード/関数はどこにありますか? 私のカスタム実装でこの関数を再利用したいと思います。Reflector を使用して検索しようとしましたが、失敗しました。

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

c# - DbParameter IsNullable 機能?

私は ADO.Net のパラメーターをあまり扱っていません。カスタム .Net データ プロバイダー (SqlClient をモデルに) を作成しており、DbParameter から継承するパラメーター クラスに IsNullable プロパティを実装する必要があります。私のデータ プロバイダーはストアド プロシージャをサポートしないため、入力 (置換スタイル) パラメーターのみをサポートします。

MSDN のドキュメントでは、IsNullable の機能について、「パラメーターが null 値を受け入れるかどうかを示す値を取得または設定する」と述べており、かなり不明確です。IsNullable を false に設定しても、パラメーターを使用することを禁止するわけではないと言って、IsNullable の機能について多くの人が混乱していることがわかります。

これに基づいて、おそらくIsNullableプロパティはストアドプロシージャでの使用に関連し、ストアドプロシージャのパラメーターがnull可能かどうかであり、パラメーター値がnullにできるかどうかではないと考えています。

その場合、ストアド プロシージャがないため、実装は次のようになります。

SqlParameter の IsNullable の実装がどのように機能するかを確認するためにいくつかのテスト コードをいじる必要がないように、パラメーターを使用してコードを記述した経験のある人が IsNullable を説明できるとありがたいです。

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

parameters - Microsoft Access パラメータ クエリが時々失敗する

基本的に、次のようなクエリがあります。

これを取得したら、最初の DB_ID を返します (1 つしかないはずです)。

これを呼び出すために作成したルーチンは C# で記述されているため、DB_ID の名前に関係なく、任意のテーブル名のデータベース ID を取得できます。

ほとんどの ForeignKey パラメータは整数ですが、一部は文字列値です。パラメータ値を追加するには、次を使用します

このルーチンは、既存のデータベース ID でうまく機能します。ただし、ForeignKey が見つからない場合は、null の代わりに 3 を返します。

ブルート フォース手法を使用して、単純に 2 つのスタイルの SQL ステートメント (整数を受け入れるものと文字列を受け入れるもの) を記述して、パラメーターを完全に回避できることはわかっていますが、このパラメーター化されたルーチンがそうでない理由を知り、理解したいと思います。働く。

なぜこれが機能しないのか、誰かが私に説明してもらえますか?

eof

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

sqlparameter - フォームのテキスト ボックスから SqlDataSource SelectParameters を設定する

テキスト ボックス入力を SqlParameter として使用しようとしていますが、ページが最初に読み込まれたときにのみ DataSelecting に入ります。from が送信された後ではありません。

aspx ページのコードは次のとおりです。

protected void DataSelecting(object sender, SqlDataSourceSelectingEventArgs e) { e.Command.Parameters["@zip"].Value = ZipBox.Text; }

"
SelectCommand="SELECT Name FROM Names WHERE (ZipCode = @zip)" OnSelecting="DataSelecting"> SelectParameters> パラメータ名="zip" DefaultValue="1" /> SelectParameters> SqlDataSource>

id="ZipSearch" runat="サーバー" アクション="Default.aspx" メソッド="post">

TextBox ID="ZipBox" runat="サーバー" />

ボタン id="btnSubmit" Text="送信" runat="サーバー" />

ご協力いただきありがとうございます、

マット

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

unit-testing - SqlParameter が等しいかどうかをテストする方法

NUnit と NMock2 を使用して、同じ SqlParameters だと思っていたものを比較できませんでした。

NMock2 を使用してメソッドの実行をテストしようとしたときに、この問題に遭遇しました。

私はこのエラーを受け取りました:

NMock2.Internal.ExpectationException: sqlDao.ExecuteNonQuery("usp_Update_Comment", ) の予期しない呼び出し 予想: 1 回: sqlDao.ExecuteNonQuery("usp_Update_Comment" と等しい、<@ChangeId> と等しい) [0 回呼び出された]

質問:

  • パラメータがSqlParameterであると予想した場合、NMock2でどのようにテストしますか?
  • 2 つの SqlParameters の等価性をどのように比較しますか?
0 投票する
3 に答える
1204 参照

ado.net - ADO.NET でテーブル値関数呼び出しのデフォルト キーワードを渡す方法

これが取引です。私たちのデータベースでは、セキュリティとモジュール性のために、ほとんどの読み取り (つまり、select ステートメント) をテーブル値関数でラップしています。したがって、1 つ以上のオプションのパラメーターを定義する TVF があります。

デフォルトのパラメーターを持つ TVF を使用すると、default次のように TVF を呼び出すときにキーワードの使用が義務付けられると思います。

それは問題ありません。すべてがクエリ アナライザーで機能しますが、実際に ADO.NET からこの要求を行うときが来たら、実際に単語defaultをレンダリングされた SQL に入れる SQL パラメーターを作成する方法がわかりません。

私は今、おおよそ次のようなものを持っています:

defaultでは、 TVF に移行する方法を知っている人はいますか?

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

c# - SqlParametersを使用してSqlCommandの解析されたテキストを取得することは可能ですか?

私がやろうとしているのは、パラメーターを使用して任意のsqlコマンドを作成し、パラメーターの値とタイプを設定してから、パラメーターを含めて解析済みのsqlコマンドを返すことです。SQLデータベースに対してこのコマンドを直接実行することはないので、接続は必要ありません。したがって、以下のサンプルプログラムを実行した場合、次のテキスト(または同様のもの)が表示されることを期待します。

そして、サンプルプログラムは次のとおりです。

これは、.net標準ライブラリを使用して達成できるものですか?最初の検索では「いいえ」と表示されますが、私は間違っていると思います。