問題タブ [parameterized-query]

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 に答える
1703 参照

java - 単純なパラメータ化されたクエリのエラー-Java/SQL

メソッド設計に関する以前の質問の1つに続いて、SQLクエリを単純な文字列ではなくパラメータ化されたクエリとして実装するようにアドバイスされました。

これまでパラメータ化されたクエリを使用したことがないので、簡単なものから始めることにしました。次のSelectステートメントを使用します。

これにより、次のエラーが発生します:「[SQLITE_ERROR] SQLエラーまたはデータベースがありません(「?」の近く:構文エラー)」

次に、追加の基準を持つ修正バージョンを試しました。

このバージョンは正常に動作します。私の最初の例では、パラメーター化されたクエリのポイントが欠落していますか、それとも正しく構成されていませんか?

ありがとう!

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

c# - メソッドの最適化 - C#

テーブル (文字列)、列の配列 (文字列)、値の配列 (オブジェクト) をパラメーターを介して渡すことができるメソッドを開発しました。これを使用して、パラメーター化されたクエリを作成します。コードの長さと複数の for ループがコードの匂いを放っていることは問題ありませんが、特に、列と値の間にコンマを挿入するために使用する方法は、別のより良い方法で実行できると感じています。

System.Data.SQLiteライブラリを使用してデータベースとやり取りしています。

ご提案ありがとうございます。

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

python - Pythonsqlite3パラメーター化されたドロップテーブル

Pythonでsqlite3テーブルを削除する際に問題が発生しました。標準sqlite3モジュールを使用しています。

私にくれますOperationalError: near "?": syntax error

私がに変更sqlしたとき:

それはうまくいきます。

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

mysql - CでのSQLインジェクションの防止

私は、いくつかのユーザー入力を受け取り、いくつかのデータベースクエリを実行するCアプリケーションを作成しています。私はここでSQLインジェクションのリスクをよく知っており、それを防ぎたいと思っています。

理想的にはパラメータ化されたクエリを使用しますが、これまでのところCでこの機能を備えたものを見つけることができませんでした。私は現在、クエリを次のように作成しています。

これができない場合は、ユーザー入力をフィルタリングする必要があります。このフィルタリングはどのように行う必要がありますか?すべての'と"を削除するだけで十分ですか?(有効な入力にそれらを含めることはできません)。そうであれば、Cでこれを行う最も簡単な方法は何ですか?

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

php - PHPでステートメントを準備せずにパラメータ化されたクエリ

MySQLi、PDO、またはPHPに、パラメーター化されたクエリを使用するが、後で呼び出す準備をしていないAPIはありますか?SQLParameterの.Prepare()メソッドを呼び出さないときにADO.NETで見つけましたが、PHPでは見つかりませんでした。

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

jsf - JPQLクエリを反復して動的にパラメータ化する方法は?

URL パラメーターとして単純な ID を持つページがあります。ここで行うことは、基本的に反復する必要がある関連エンティティの数を返すためのクエリを実行することです: LEAGUE ゲーム、CUP ゲーム、および PLAYOFFS ゲームについてゲームのスケジュールを返す必要があるため、結果リストはゲームごとに異なる必要があります。反復。

これらの各スケジュールは、GUI で独自のタブを取得します。RichFaces タブにはすでに JSTL c:forEach が必要なので、別の WHERE 制限をコンポーネント (ここでは Seam EntityQuery サブクラス インスタンス) に設定する方法を見つけるだけで十分です。

ここでの問題は、反復中に現在のエンティティを使用して各クエリをどのようにパラメーター化するかということです。Seam/JBoss EL ではどのように行うのが最適ですか? 反復中に EntityQuery インスタンスに別の制限を 1 つまたは 2 つ取得するにはどうすればよいですか?

私が使用するJSFコードは次のとおりです。

ここでの問題は、c:forEach のようなものを単純に呼び出すことができないことです#{rosterScheduleQuery.setCustomRestriction(pa.group.round.subCompetition.competition.name)}。これは、この式が 1 回しか評価されないためです (私が正しく理解している場合)。これはすべてかなり手続き的なものなので、ここで全体的なポイントを見逃している可能性があります。

通常、反復および実行時にパラメータ化されたクエリ (追加の WHERE 条件) をどのように解決しますか? ベスト プラクティスはいつでも歓迎します。

ありがとう

編集:私はすでに Facelets を使用していますが、rich:tabPanel では JSTL c:forEach を使用する必要があります。http://relation.to/11633.laceを参照してください。

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

c# - パラメータ化された SQL 値の構文の問題

問題が何であるかはわかりませんが、私のコードは次のようになります。

私はパラメーター化された SQL をまったく使用していませんが、構文は私には正しいようです。私が取得し続けるエラーは次のとおりです。

スカラー変数「@initOwnerFirstName」を宣言する必要があります。私がそのようなステートメントを書いている理由は、SQLtext に追加する他の複数の if ステートメントを用意するつもりだからです。

編集: 私の構文は他の変数なしではほとんど意味がないため、if ステートメントの後のコード全体を次に示します。これは JYelton が提案した後にクリーンアップされましたが、それでも同じエラーが発生します。

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

c# - 大きなasp.net C# WebアプリケーションでのSQLインジェクションフォームの修正

SQL インジェクションに対して脆弱なプロジェクトを修正する必要があります。

プロジェクトのすべてのページのすべてのフォームは、パラメーター化されたクエリを使用せず、単に文字列クエリを使用します。

たとえば検索ページがあり、コード ビハインドを見ると、CreateQuery()例としてテキスト フィールドに基づいてクエリを作成するメソッドがあることがわかります。

次にbtnSearch_Click()、クエリを実行するメソッドがあります。

私の質問は:

私は何百ものフォームと何千ものformText値をFIXに持っているので、実装するための「迅速な」解決策はありますか?

  1. クエリをパラメータ化する、または何らかの方法で状況を処理するグローバル関数?
  2. SubmitButton_Click()すべてのクラスでコード ビハインド メソッドでクエリが実行されるため、ここで、もちろんすべてのクラスで状況を処理できますか?
  3. すべてのフォームとコード ビハインドのすべてのエントリを変更して、SQL 文字列をパラメーター化する必要があります。これには 100 万年かかりますか?
  4. (編集) 入力値のエンコード/デコードはどうですか? 上記の例は次のようになります。

    これは一時的なパッチの可能性がありますか?

5-(編集)これは可能な解決策ですか、それとも単に何も変更しませんか?

問題は、クエリを処理するロジックが、文字列をクエリとして受け取る別のビジネス クラスで定義されているため、文字列を返さなければならないことです。CommandType または SqlDataAdapter を指定することはできません...

提案?

前もって感謝します。

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

c# - パラメーターの数が間違っています (パラメーター化されたクエリ)

Q:

次のパラメータ化されたクエリを実行しようとすると:

終えたcommand.ExecuteScalar();

次の例外をスローします。

ERROR [07001] [Informix .NET プロバイダ] パラメータの数が間違っています。

問題はどこだ?

編集: