由于字符 (') 而导致数据库插入问题
本文关键字:插入 问题 数据库 于字符 字符 | 更新日期: 2023-09-27 18:34:19
如果您尝试在包含字符 (')
的数据库中插入字符串,您将遇到问题。
SQL ="Insert into mytable (name) values ('"&Request("name")&"') "
初学者的解决方案是
SQL ="Insert into mytable (name) values (Replace('"&Request("name")&"',"'","@") "
例如,在检索此记录时,您将不得不将其更改回来。
但是,问题是如果我有大量可能包含此字符(')
的字段怎么办,我会为每个字段遵循这个耗时的解决方案吗?! 或者你们中的任何人都有一个聪明而快速的解决方案?
编辑:正如现在在一些评论中所说,执行建议的方法如下。
首先,获取所有值并将它们存储在变量中。然后使用参数创建一个插入语句,以将值插入数据库。
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)
}
}