ホームページ > データベース > mysql チュートリアル > 「パラメータ化されたクエリは、指定されていないパラメータを必要とします」エラーを修正する方法は?

「パラメータ化されたクエリは、指定されていないパラメータを必要とします」エラーを修正する方法は?

Linda Hamilton
リリース: 2024-12-30 00:13:52
オリジナル
959 人が閲覧しました

How to Fix the

「パラメータ化されたクエリは指定されていないパラメータを必要とします」エラーのトラブルシューティング

コードでパラメータ化されたクエリを実行すると、次のエラーが発生しました。パラメーターが指定されていないことを示します。この問題を解決するには、コードを調べて修正を適用しましょう。

提供されたコード スニペットでは、TextBox2 の検索パラメーターに基づいてデータベースからレコードを取得するためにパラメーター化されたクエリが使用されています。ただし、エラー メッセージは、'@Parameter1' パラメーターが指定されていないことを示唆しています。これを修正するには、コマンド オブジェクトの 'Parameters' コレクション内のパラメーターに値を明示的に追加して割り当てる必要があります。

次のコード変更でこれに対処します。

Dim cmd As New SqlCommand
cmd.CommandText = "SELECT * FROM borrow WHERE Department LIKE '%' + @Department + '%'"
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("@Department", SqlDbType.VarChar)

If Not TextBox2.Text Is Nothing Then
    cmd.Parameters("@Department").Value = TextBox2.Text
Else
    cmd.Parameters("@Department").Value = DBNull.Value
End If

con.Open()
ログイン後にコピー

Inこの変更されたコードでは、

  • 「@Department」という名前のパラメーターをコマンド。
  • TextBox2 のテキストが null ではないかどうかを確認します (空の検索入力を処理するため)。
  • テキストが null でない場合は、TextBox2 の値をパラメーターに割り当てます。それ以外の場合は、DBNull.Value を割り当てて null 入力を処理します。

DBNull.Value は、データベース操作で null 値を表すために使用されます。このチェックを追加することで、検索入力が空または null の場合でもクエリが正しく実行されることが保証されます。

以上が「パラメータ化されたクエリは、指定されていないパラメータを必要とします」エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート