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

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

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

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

Verwenden Sie Parameter, um Daten in die Access-Datenbank einzufügen

Das direkte Einfügen von Access-Datenbankdaten mithilfe fest codierter Parameter kann zu Problemen führen, insbesondere bei der Arbeit mit Text, der einfache Anführungszeichen enthält. Um dieses Problem zu lösen, können Sie in der Abfrage Parameter anstelle direkter Zeichenfolgenwerte verwenden.

Schritt 1: Ersetzen Sie fest codierte Parameter durch Platzhalter

Ersetzen Sie im bereitgestellten Code jeden fest codierten Parameter in der INSERT-Abfrage durch einen Platzhalter mit dem Präfix „@“. Zum Beispiel:

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

Schritt 2: OleDbParameters zu DbCommand hinzufügen

Erstellen Sie eine OleDbParameter-Instanz und fügen Sie sie der DbCommand.Parameters-Eigenschaft hinzu. Parameternamen sollten mit den in der Abfrage verwendeten Platzhalternamen übereinstimmen:

<code>cmd.Parameters.AddRange(new OleDbParameter[]
{
    new OleDbParameter("@title", title),
    new OleDbParameter("@rating", rating),
    ...
});</code>
Nach dem Login kopieren

Geänderter Code:

<code>[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 kann die Datenbank Sonderzeichen wie einfache Anführungszeichen korrekt verarbeiten und so die Datenintegrität gewährleisten.

Das obige ist der detaillierte Inhalt vonWie füge ich Daten 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage