由于字符 (') 而导致数据库插入问题

本文关键字:插入 问题 数据库 于字符 字符 | 更新日期: 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)
    }
}