1

文字 を含む文字列をデータベースに挿入しようとすると(')、問題が発生します。

SQL ="Insert into mytable (name) values ('"&Request("name")&"') "

初心者向けの解決策は、

SQL ="Insert into mytable (name) values (Replace('"&Request("name")&"',"'","@") "

たとえば、このレコードを取得するときに元に戻す必要があります。

しかし、問題は、この文字を含む可能性のあるこれらのフィールドが大量にある場合(')、すべてのフィールドに対してこの時間のかかる解決策に従うのでしょうか?! または、スマートで迅速な解決策をお持ちの方はいますか?

4

1 に答える 1

3

編集:いくつかのコメントで述べられているように、提案されていることを行う方法は次のとおりです。

まず、すべての値を取得して変数に格納します。次に、パラメーターを使用して挿入ステートメントを作成し、値をデータベースに挿入します。

var value1 = //fetch what you want to insert
var value2 = //fetch what you want to insert

using (SqlConnection con = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand("INSERT INTO myTable VALUES (@value1, @value2)", con))
{
    cmd.Parameters.AddWithValue("@value1", value1);
    cmd.Parameters.AddWithValue("@value2", value2);
    con.Open();
    try
    {
        cmd.ExecuteNonQuery();
    }
    catch (SqlException ex)
    {
        Console.WriteLine(ex.Message)
    }
}
于 2013-10-06T20:43:42.120 に答える