Heim > Backend-Entwicklung > C++ > Wie füge ich Daten mit Sonderzeichen mithilfe von Parametern sicher in eine Access-Datenbank ein?

Wie füge ich Daten mit Sonderzeichen mithilfe von Parametern sicher in eine Access-Datenbank ein?

Patricia Arquette
Freigeben: 2025-01-22 16:22:13
Original
712 Leute haben es durchsucht

How to Safely Insert Data with Special Characters into an Access Database Using Parameters?

Verwenden von Parametern zum Einfügen von Daten in eine Access-Datenbank

Das Einfügen von Daten, die Sonderzeichen enthalten, in eine Access-Datenbank kann aufgrund von Problemen mit einfachen Anführungszeichen eine Herausforderung sein. Die Verwendung von Parametern ist eine effektive Möglichkeit, dieses Problem zu lösen.

So ändern Sie Ihren Code, um Parameter anstelle von hartcodierten Werten zu verwenden:

a) Ersetzen Sie tatsächliche Parameter durch Platzhalter:

Ersetzen Sie im Attribut cmd.CommandText den tatsächlichen Wert durch den Platzhalter mit dem Präfix @:

<code class="language-csharp">cmd.CommandText = @"INSERT INTO bookRated([title], [rating],  [review], [frnISBN], [frnUserName]) VALUES (@title, @rating, @review, @ISBN, @userName)";</code>
Nach dem Login kopieren

b) OleDbParameter-Instanz hinzufügen:

Erstellen Sie eine Instanz von OleDbParameter und fügen Sie sie dem Attribut DbCommand.Parameters hinzu. Stellen Sie sicher, dass der Parametername mit dem Platzhalternamen in cmd.CommandText übereinstimmt:

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

Beispiel:

Der geänderte Code lautet wie folgt:

<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 können in den Text eingefügte Sonderzeichen korrekt verarbeitet werden, wodurch die Datenintegrität gewährleistet wird.

Das obige ist der detaillierte Inhalt vonWie füge ich Daten mit Sonderzeichen mithilfe von Parametern sicher in eine Access-Datenbank ein?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage