Google とスタック オーバーフローの両方を介して一連の検索を行いましたが、そこに回答がある場合、探している回答を提供する検索クエリを思いつくことができませんでした。
ASP.net Web サイトで使用する関数のモジュールを作成して、Microsoft SQL Server DB に接続してクエリを実行するという面倒な作業をすべて処理しています。私は現在、クエリを実行する関数に取り組んでおり、SQL パラメーターの配列であるオプションの関数パラメーターを許可することにしました。
オプションの SQL パラメータが渡された関数で、渡された SQL クエリをチェックして、名前付きパラメータがあるかどうかを確認したいと思います。SQL クエリに名前付きパラメーターがある場合は、オプションの SQL パラメーターが実際に渡されたことを確認してください。SQL クエリに名前付きパラメータがない場合は、SQL パラメータが渡されていないことを確認してください。例えば:
- SQL クエリ =
SELECT * FROM MyTable WHERE ID = @TheID
→ 関数呼び出しには SQL パラメータが必要です。 - SQL クエリ =
SELECT GETDATE()
→ 関数呼び出しに SQL パラメータを指定してはなりません。
私の皆さんへの質問は、(パラメータの名前を知らなくても) 名前付きパラメータの SQL クエリである文字列を「検索」する最良の方法は何かということです。「@」文字で文字列を検索するだけでは気をつけています。その文字で名前を付けた列を持つことができることをどこかで読んだからです(例:[name@domain]
)。おそらく、正規表現を使用して「=」の後に任意の数の空白と「@」を検索できますか?