問題タブ [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.
c# - パラメータを含む完全なSQLクエリを取得する方法
私は最近、SQLのパラメーター化されたクエリに飛びつきました。クエリを実行するときに日付に関する苦情があります
文字列で表される日時は、カレンダーSystem.Globalization.GregorianCalendarではサポートされていません。
クエリを取得すると、パラメータ化されたクエリ文字列が取得されます
これをデバッグするために取得する必要があるのは
一体どうやってこれを行うのですか?単純なことだと思いますが、見えません!
datetimeパラメーターは次のように追加されています。
稼働時間はで設定されています
sql - MSSQL の XML クエリを使用したストアド プロシージャ パラメーターは、「引数は文字列リテラルである必要があります」
クエリ関数と値関数を使用して、xml データである列を持つテーブルをクエリしようとしています。通常の文字列リテラルを使用する場合は問題ありませんが、それをストアド プロシージャに入れて変数を使用しようとすると機能しません。
正しいデータ型を使用していないと思いますが、検索を行った後、クエリ関数が必要とするデータ型がわかりません。
例: テーブルの内容
今、選択クエリを使用して
必要なデータを取得します。しかし、これをストアドプロシージャで使用し、パラメーターを使用して
、エラーが発生@xpath varchar(100)
したときにそれをクエリメソッドに渡すとxmldata.query(@xpath)
varchar(100) は正しくないと思いますが、MSSQL を満足させるにはどのデータ型を使用できますか?
更新:わかりました。どうやら「そのように」クエリメソッドにパラメーターを渡すことはできませんが、ローカル名と組み合わせて sql:variable を使用して、その一部を処理することはできます。したがって、たとえば、これは機能します
列 xmldata で値が選択されます。しかし (!) ルート ノードがクエリ関数の最初の値である必要があります。以下は動作しません
クエリ パスが変数まで「上に移動」されていることに注意してください。私は私の調査を続けます..
c# - プログラムで SQL パラメータを作成する
私にとってもう1つの厄介なものですが、おそらく単純なものです。
ユーザー入力に基づくクエリの where 句がいくつかありますが、これらをプログラムで追加するにはどうすればよいですか?
例えば:
そのためのパラメーターをどのように実行しますか? ArrayLists、Dictionaries、およびその他のいくつかの方法を試しましたが、それを行う方法が見つかりません。理想的には、次のようなことをしたいと思います。
c# - プロシージャは、指定されていないパラメータを予期しています
コードの終わりに向かって、ページから渡されたパラメーターに基づいてテーブルを更新するストアドプロシージャを呼び出しています。次のエラーが発生します。
プロシージャまたは関数'Res_invpush_UpdateInv'には、指定されていないパラメータ'@InventoryPushSubscriptionId'が必要です。
パラメータ値が正常に渡されたとしても、ブレークポイントを使用してテストしたため、これを知っています。上記のパラメータにマウスを合わせると、値が1になるため、メッセージがまだ表示される理由がわかりません。
誰かが私がどこで間違っているのか、それを修正する方法を教えてもらえますか?
c# - パラメータを文字列として使用するSqlCommand
作成する必要のあるアプリケーションがあります。このアプリケーションは、CSV形式のユーザー入力があれば、このCSVを解析して複数の形式に生成する必要があります。これらの形式の1つは、CSVの各行に対する一連のSQL INSERTステートメント(文字列として)です。
(この時点で、CSVを値のリストなどに解析したと想定できるので、それは問題のポイントではありません)
この入力には脆弱性が含まれている可能性があるため、検証およびサニタイズされたINSERTステートメントを生成したいと思います。
私はSqlCommandオブジェクトを作成し、そのパラメーターのリストに値を追加することに精通していますが、同様の質問を見ると、期待どおりに機能していないようです。
では、必要な方法で、サニタイズされたSQLステートメントを文字列として生成する方法はありますか?
編集:これは私がやりたいことの例です。
CSV:
SQL:
CSVにはデータ型が指定されていないため、アプリケーションはそれも決定する必要があります。
c# - OleDbCommand からの戻り値
これは、パラメーターを使用して SELECT クエリからデータを読み取る方法であると言われましたが、機能していません。私は何か間違ったことをしたと思います。
WinForms と Microsoft Access 2007 を使用しています
asp.net - sqlParameter が空かどうかを確認する方法は?
さまざまなパラメーターで開始するための多くの「New()」関数を持つクラスがあります。引数なしでクラスを初期化する New() 関数を作成したいと思います。問題は、クラスのデータを入力し、ストアド プロシージャを使用して作業を行う "fillData" 関数があることですが、ストアド プロシージャ パラメータがあります。新しい fillData 関数を作成したくはありませんが、ストアド プロシージャを追加することなく、fillData 関数を使用したいと考えています。これを行う私の方法は、空の SqlParameter var を fillData 関数に渡すことでしたが、params パラメータが空であることを確認すると、常にそこに何かがあると思われるようです。
この「params」パラメーターが空かどうかを確認したいと思います。
...
これを変更して、SqlParameter パラメータを渡さずに fillData 関数を引き続き使用できるようにするにはどうすればよいですか?
ありがとうございました!
c# - パラメータ化されたクエリは切り捨てられ、パラメータは失われます
私はコードを持っています:
そして、私は受け取ります:パラメーター化されたクエリ'(@OwnerUserID int、@BuddyUserID int、@ TS datetime、@ GiftID int、@ Gif'は、提供されなかったパラメーター'@GiftStatus'を予期します。
注:'(@OwnerUserID int、@BuddyUserID int、@ TS datetime、@ GiftID int、@ Gif'は切り捨てられ、正確に64シンボルです...そして、未完成のパラメーター名' Gif'で終了します(例外はこのパラメータについても)。
パラメータが表示されないのはなぜですか?
UPD:最後のパラメーター(@GiftStatus)を次のように追加する場合:command.Parameters.AddWithValue( "@ GiftStatus"、(byte)GiftStatusEnum.wait);
このようにして物事は機能し始めます。しかし、.Add(new SqlParamter());の何が問題になっているのか理解できません。
asp.net - SqlParameterの追加におけるVB.NetIIf関数
この長いINSERTステートメントとパラメーターを次のように書き直しています。
General.fnSQLNullValuesは次のとおりです。
私はこれがまったく好きではありません、そしてこれを行うためのすべてのコードがたくさんあるようです、
私の理解では、tWebsite.Textがnullであるか受け入れられない場合、DBNull.Valueの1行のコードがtWebsite.Textを値として置き換え、一般的な他の関数と同じことを行うように見えます。これは正しく、一方が他方よりも優れていますか?
また、2番目の方法から「共通型を推測できません;オブジェクトが想定されます」という警告が表示されますが、最初の方法はとにかくジェネリックオブジェクトを使用していたようですので、この警告を無視する必要があるかどうかわかりません
c# - Procedure or function 'AddUpdateContactDetails' expects parameter '@Id', which was not supplied
I have my method
and Sp is below
But still getting the exception that "Procedure or function 'AddUpdateContactDetails' expects parameter '@Id', which was not supplied."