ホームページ >Java >&#&チュートリアル >SQL でテーブル名にプリペアド ステートメント パラメータを使用できないのはなぜですか?
テーブル名に関するプリペアド ステートメント パラメータの問題
データ取得用のテーブル名を動的に設定しようとすると、ステートメント内でエラーが発生します。準備されたステートメントの実行。このエラーの原因は、テーブル名が必要なパラメータの使用にあります。
提供されたサンプル コードでは、パラメータ プレースホルダ「?」を含む準備済みステートメントが使用されています。そして、テーブル名を表す値をそれに割り当てようとします。ただし、パラメータを通じてテーブル名を動的に指定できないため、これは許可されません。これらはクエリ自体内で明示的に定義する必要があります。
解決策
この問題を解決するには、以下に示すようにテーブル名をクエリ文字列に直接ハードコーディングします。
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "]"?";
この変更により、テーブル名がクエリ内で正しく定義され、前述のエラーが発生せずに正常に実行できることが保証されます。
以上がSQL でテーブル名にプリペアド ステートメント パラメータを使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。