如何在sql server中保存不同语言的单引号

时间:2017-04-24 07:49:23

标签: c# sql-server sql-insert

我在sql server中插入马来西亚语/韩语/日语,我能够成功保存,但是如果任何单词都有单引号(撇号),我的代码就会被破坏。我尝试了以下方法,但无法保存。

  • 我正在使用SQL Server 2014。
  • 我的保存字(地址1)是:早'上好
  • 我的保存字(地址2)是:早上好'

SQL Query正在关注

 "Insert into Employee (CountryCode, Address1, Address2)values('" + Program.CountryCode + "',N'" + Address1.Text + "',N'" + Address2.Text)

在调试期间,我的查询将变为如下数据。

 Insert into Employee (CountryCode, Address1, Address2)values('JP',N'早'上好',N'早上好'')

2 个答案:

答案 0 :(得分:-1)

将单个[']引号替换为2个单引号['']。这将解决您的问题,并在数据中插入单引号,但字段应为 nvarchar ,而不是 varchar

数据代替数据

答案 1 :(得分:-1)

首先,非常感谢所有受到尊重的评论,这些评论引导我找到正确的解决方案,我正在写我是如何解决的。

string add1 = txtAdd1.Text;
string add2 = txtAdd2.Text;
if(!add1.Contains(";"))
{
    if(string.isNullOrEmpty(add1) && add1.Contains("'"))
    {
        add1 = add1.Replace("'", "''");
    }
}
if(!add2.Contains(";"))
{
    if(string.isNullOrEmpty(add2) && add2.Contains("'"))
    {
        add2 = add2.Replace("'", "''");
    }
}

我将add1和add2传递给查询,如下所示。

Insert into Employee (CountryCode, Address1, Address2)values('" + Program.CountryCode + "',N'" + add1 + "',N'" + add2)