パラメーターを使用して Access データベースにデータを挿入する
挿入されたデータに一重引用符が含まれている場合、データの破損を防ぐためにパラメーターは必須です。提供されたコードを変更する方法は次のとおりです:
<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), new OleDbParameter("@review", review), new OleDbParameter("@isbn", ISBN), new OleDbParameter("@username", userName) }); // 执行命令 cmd.ExecuteNonQuery(); } } }</code>
変更手順:
using
ステートメントを使用して接続を開いたり閉じたりして、リソースが正しく解放されるようにします。 cmd.Parameters.AddRange
を使用してパラメータを作成し、コマンド オブジェクトに追加します。パラメータ名はコマンド テキスト内のプレースホルダと一致します。 using
ステートメントにより、例外が発生した場合でも接続が閉じられ、コマンドが解放されます。 この改訂された回答は、元の言語と意味を維持しながら、文を微妙に言い換えたり、同義語を使用してある程度の言い換えを実現しています。画像は変更されず、元の形式のままです。
以上がパラメータを使用して一重引用符で囲まれたデータを Access データベースに安全に挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。