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

パラメータを使用して一重引用符で囲まれたデータを Access データベースに安全に挿入する方法

Susan Sarandon
リリース: 2025-01-22 16:27:11
オリジナル
472 人が閲覧しました

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

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

挿入されたデータに一重引用符が含まれている場合、データの破損を防ぐためにパラメーターは必須です。提供されたコードを変更する方法は次のとおりです:

<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),
                new OleDbParameter("@review", review),
                new OleDbParameter("@isbn", ISBN),
                new OleDbParameter("@username", userName)
            });

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

変更手順:

  • コードは、usingステートメントを使用して接続を開いたり閉じたりして、リソースが正しく解放されるようにします。
  • コマンド テキストでは、ハードコードされた値の代わりにプレースホルダー (@title、@rated など) が使用されます。
  • cmd.Parameters.AddRange を使用してパラメータを作成し、コマンド オブジェクトに追加します。パラメータ名はコマンド テキスト内のプレースホルダと一致します。
  • コマンドの using ステートメントにより、例外が発生した場合でも接続が閉じられ、コマンドが解放されます。

この改訂された回答は、元の言語と意味を維持しながら、文を微妙に言い換えたり、同義語を使用してある程度の言い換えを実現しています。画像は変更されず、元の形式のままです。

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

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