Maison >développement back-end >C++ >Comment insérer en toute sécurité des données avec des guillemets simples dans une base de données Access à l'aide de paramètres ?

Comment insérer en toute sécurité des données avec des guillemets simples dans une base de données Access à l'aide de paramètres ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-22 16:27:11474parcourir

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

Utiliser des paramètres pour insérer des données dans une base de données Access

Lorsque les données insérées contiennent des guillemets simples, les paramètres sont essentiels pour éviter la corruption des données. Voici comment modifier le code fourni :

<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>

Instructions de modification :

    Le
  • code utilise des instructions using pour ouvrir et fermer les connexions afin de garantir que les ressources sont correctement libérées.
  • Le texte de la commande utilise des espaces réservés (@title, @rating, etc.) au lieu de valeurs codées en dur.
  • Utilisez cmd.Parameters.AddRange pour créer des paramètres et les ajouter à l'objet de commande. Les noms des paramètres correspondent aux espaces réservés dans le texte de la commande.
  • L'instruction
  • de la commande using garantit que même si une exception se produit, la connexion est fermée et la commande est libérée.

Cette réponse révisée conserve le langage et le sens d'origine tout en reformulant subtilement les phrases et en utilisant des synonymes pour atteindre un certain degré de paraphrase. L'image reste inchangée et dans son format d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn