You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向DataTable插入包含单引号'的字符串?

解决DataTable插入含单引号字符串的问题

你遇到的错误是因为SQL里用单引号标记字符串边界,COTE D'IVOIRE中的单引号会被系统误判为字符串结束符,导致语法错误。下面是两种可行的解决办法:

方法一:转义单引号

在SQL语句里,把字符串中的单个单引号替换成两个连续的单引号,SQL引擎就会将其识别为字符串内部的单引号,而非边界符。修正后的SQL语句如下:

insert into mytable
(ISO_COUNTRY_CODE, COUNTRY, REGION)
values ('CI', 'COTE D''IVOIRE','EMEAR')

方法二:使用参数化查询(推荐)

手动转义不仅繁琐,还存在SQL注入风险,更安全可靠的方式是用参数化查询,让数据库驱动自动处理特殊字符。以C#为例,代码示例如下:

// 假设conn是已打开的数据库连接
string sql = "insert into mytable (ISO_COUNTRY_CODE, COUNTRY, REGION) values (@Code, @Country, @Region)";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
    cmd.Parameters.AddWithValue("@Code", "CI");
    cmd.Parameters.AddWithValue("@Country", "COTE D'IVOIRE");
    cmd.Parameters.AddWithValue("@Region", "EMEAR");
    cmd.ExecuteNonQuery();
}

这种方式无需手动处理单引号,同时能有效避免SQL注入攻击,是生产环境中的首选方案。

内容的提问来源于stack exchange,提问作者A Dolegowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 21:44:52