ホームページ > バックエンド開発 > C++ > パラメーターを使用して Access データベースにデータを安全に挿入する方法

パラメーターを使用して Access データベースにデータを安全に挿入する方法

DDD
リリース: 2025-01-22 16:06:12
オリジナル
526 人が閲覧しました

How to Safely Insert Data into an Access Database Using Parameters?

パラメーターを使用して Access データベースにデータを挿入します

ハードコーディングされたパラメーターを使用して Access データベース データを直接挿入すると、特に一重引用符を含むテキストを操作する場合に問題が発生する可能性があります。この問題を解決するには、クエリで直接文字列値の代わりにパラメータを使用します。

ステップ 1: ハードコードされたパラメーターをプレースホルダーに置き換えます

提供されたコードで、INSERT クエリ内のハードコーディングされた各パラメーターを、接頭辞「@」が付いたプレースホルダーに置き換えます。例:

<code>cmd.CommandText = "INSERT INTO bookRated([title], [rating],  [review], [frnISBN], [frnUserName])VALUES('@title', '@rating','@review','@ISBN', '@userName')";</code>
ログイン後にコピー

ステップ 2: OleDbParameters を DbCommand に追加します

OleDbParameter インスタンスを作成し、DbCommand.Parameters プロパティに追加します。パラメーター名は、クエリで使用されるプレースホルダー名と一致する必要があります:

<code>cmd.Parameters.AddRange(new OleDbParameter[]
{
    new OleDbParameter("@title", title),
    new OleDbParameter("@rating", rating),
    ...
});</code>
ログイン後にコピー

変更コード:

<code>[WebMethod]
public void bookRatedAdd(string title, int rating, string review, string ISBN, string userName)
{
   using (OleDbConnection conn = new OleDbConnection(
         "Provider=Microsoft.Jet.OleDb.4.0;"+
         "Data Source="+Server.MapPath("App_Data\BookRateInitial.mdb"));
   {

      conn.Open();

      // DbCommand 也实现了 IDisposable 接口
      using (OleDbCommand cmd = conn.CreateCommand())
      {
           // 使用占位符创建命令
           cmd.CommandText = 
              "INSERT INTO bookRated "+
              "([title], [rating],  [review], [frnISBN], [frnUserName]) "+
              "VALUES(@title, @rating, @review, @isbn, @username)";

           // 添加命名参数
           cmd.Parameters.AddRange(new OleDbParameter[]
           {
               new OleDbParameter("@title", title),
               new OleDbParameter("@rating", rating),
               // ... 其他参数
           });

           // 执行
           cmd.ExecuteNonQuery();
      }
   }
}</code>
ログイン後にコピー

パラメータを使用すると、データベースは一重引用符などの特殊文字を正しく処理できるため、データの整合性が確保されます。

以上がパラメーターを使用して Access データベースにデータを安全に挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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