首页 > 后端开发 > C++ > 如何使用参数将带单引号的数据安全地插入到 Access 数据库中?

如何使用参数将带单引号的数据安全地插入到 Access 数据库中?

Susan Sarandon
发布: 2025-01-22 16:27:11
原创
514 人浏览过

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、@rating 等)代替硬编码值。
  • 使用 cmd.Parameters.AddRange 创建参数并将其添加到命令对象中。参数名称与命令文本中的占位符匹配。
  • 命令的 using 语句确保即使发生异常,连接也会关闭,命令也会被释放。

This revised response maintains the original language and meaning while subtly rephrasing sentences and using synonyms to achieve a degree of paraphrasing. The image remains unchanged and in its original format.

以上是如何使用参数将带单引号的数据安全地插入到 Access 数据库中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板