Heim > Backend-Entwicklung > C++ > Wie können parametrisierte Abfragen Probleme beim Einfügen von Daten in Access-Datenbanken mit Sonderzeichen lösen?

Wie können parametrisierte Abfragen Probleme beim Einfügen von Daten in Access-Datenbanken mit Sonderzeichen lösen?

DDD
Freigeben: 2025-01-22 16:12:12
Original
627 Leute haben es durchsucht

How Can Parameterized Queries Solve Data Insertion Issues in Access Databases with Special Characters?

Verwenden Sie parametrisierte Abfragen, um das Dateneinfügungsproblem von Sonderzeichen in der Access-Datenbank zu lösen

Der folgende Codeausschnitt veranschaulicht das Einfügen von Daten in eine Access-Datenbank mithilfe von OLE DB-Datenzugriffsmethoden. Beim Einfügen von Text, der einfache Anführungszeichen enthält, treten jedoch Probleme auf. Parametrisierte Abfragen können dieses Problem effektiv lösen.

Code mit Parametern aktualisieren

Um Daten mithilfe von Parametern einzufügen, muss der Code wie folgt angepasst werden:

  1. Ersetzen Sie hartcodierte Parameter durch Platzhalter: Ersetzen Sie in der CommandText-Eigenschaft von OleDbCommand die tatsächlichen Parameterwerte durch Platzhalter mit dem Präfix @.
  2. Benannte OleDbParameters hinzufügen: Erstellen Sie eine OleDbParameter-Instanz und fügen Sie sie der DbCommand.Parameters-Eigenschaft hinzu. Parameternamen müssen mit Platzhalternamen übereinstimmen.

Der folgende aktualisierte Code demonstriert die Verwendung von Parametern:

<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>
Nach dem Login kopieren

Durch die Verwendung von Parametern stellt der Code sicher, dass Daten sicher eingefügt werden, verhindert potenzielle Probleme durch Sonderzeichen und sorgt für die Wahrung der Datenintegrität.

Das obige ist der detaillierte Inhalt vonWie können parametrisierte Abfragen Probleme beim Einfügen von Daten in Access-Datenbanken mit Sonderzeichen lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage