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

パラメータを使用して特殊文字を含むデータを Access データベースに安全に挿入する方法

Patricia Arquette
リリース: 2025-01-22 16:22:13
オリジナル
711 人が閲覧しました

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

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

特殊文字を含むデータを Access データベースに挿入することは、一重引用符の問題により困難になる場合があります。パラメーターの使用は、この問題を解決する効果的な方法です。

ハードコードされた値の代わりにパラメーターを使用するようにコードを変更する方法は次のとおりです。

a) 実際のパラメータをプレースホルダに置き換えます:

cmd.CommandText 属性で、実際の値を @ というプレフィックスが付いたプレースホルダーに置き換えます:

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

b) OleDbParameter インスタンスを追加します:

OleDbParameter のインスタンスを作成し、それを DbCommand.Parameters 属性に追加します。パラメーター名が cmd.CommandText のプレースホルダー名と一致していることを確認してください:

<code class="language-csharp">// 创建包含占位符的命令
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),
   // ... 添加其他参数
});</code>
ログイン後にコピー

例:

変更されたコードは次のとおりです:

<code class="language-csharp">[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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート