Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Pertanyaan Berparameter Boleh Menyelesaikan Isu Penyisipan Data dalam Pangkalan Data Akses dengan Aksara Khas?
Gunakan pertanyaan berparameter untuk menyelesaikan masalah sisipan data aksara khas dalam pangkalan data Access
Coretan kod berikut menunjukkan memasukkan data ke dalam pangkalan data Access menggunakan kaedah capaian data OLE DB. Walau bagaimanapun, masalah timbul apabila memasukkan teks yang mengandungi petikan tunggal. Pertanyaan berparameter boleh menyelesaikan masalah ini dengan berkesan.
Kemas kini kod dengan parameter
Untuk memasukkan data menggunakan parameter, kod perlu dilaraskan seperti berikut:
Kod dikemas kini berikut menunjukkan penggunaan parameter:
<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>
Dengan menggunakan parameter, kod memastikan data dimasukkan dengan selamat, mencegah masalah yang mungkin disebabkan oleh aksara khas dan mengekalkan integriti data.
Atas ialah kandungan terperinci Bagaimanakah Pertanyaan Berparameter Boleh Menyelesaikan Isu Penyisipan Data dalam Pangkalan Data Akses dengan Aksara Khas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!