首頁 > 後端開發 > C++ > 如何使用參數將帶有特殊字元的資料安全地插入Access資料庫?

如何使用參數將帶有特殊字元的資料安全地插入Access資料庫?

Patricia Arquette
發布: 2025-01-22 16:22:13
原創
712 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板