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 回答