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