Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memasukkan Data dengan Petikan Tunggal ke dalam Pangkalan Data Akses Menggunakan Parameter dengan Selamat?

Bagaimana untuk Memasukkan Data dengan Petikan Tunggal ke dalam Pangkalan Data Akses Menggunakan Parameter dengan Selamat?

Susan Sarandon
Susan Sarandonasal
2025-01-22 16:27:11514semak imbas

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

Menggunakan parameter untuk memasukkan data ke dalam pangkalan data Access

Apabila data yang dimasukkan mengandungi petikan tunggal, parameter adalah penting untuk mengelakkan rasuah data. Begini cara untuk mengubah suai kod yang disediakan:

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

Arahan pengubahsuaian:

    Kod
  • menggunakan pernyataan using untuk membuka dan menutup sambungan bagi memastikan sumber dikeluarkan dengan betul.
  • Teks arahan menggunakan ruang letak (@tajuk, @rating, dsb.) dan bukannya nilai berkod keras.
  • Gunakan cmd.Parameters.AddRange untuk mencipta parameter dan menambahnya pada objek arahan. Nama parameter sepadan dengan ruang letak dalam teks arahan.
  • Pernyataan
  • perintah using memastikan bahawa walaupun pengecualian berlaku, sambungan ditutup dan arahan dikeluarkan.

Respons yang disemak ini mengekalkan bahasa dan makna asal sambil menghurai semula ayat secara halus dan menggunakan sinonim untuk mencapai tahap parafrasa imej kekal tidak berubah dan dalam format asalnya.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data dengan Petikan Tunggal ke dalam Pangkalan Data Akses Menggunakan Parameter dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn