如果您尝试在包含字符(')
的数据库中插入字符串,则会遇到问题。
SQL ="Insert into mytable (name) values ('"&Request("name")&"') "
初学者的解决方案是
SQL ="Insert into mytable (name) values (Replace('"&Request("name")&"',"'","@") "
例如,然后在检索此记录时必须将其更改回来。
但问题是,如果我有大量这些字段可能包含此字符(')
,那么我会为每个字段使用这个耗时的解决方案吗?!或者你们中的任何人都有智能和快速的解决方案?
答案 0 :(得分:3)
编辑: 正如一些评论中所述,做出建议的方法可能如下:
首先,获取所有值并将它们存储在变量中。然后使用参数创建一个insert语句,将值插入数据库。
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)
}
}