我在sql server中插入马来西亚语/韩语/日语,我能够成功保存,但是如果任何单词都有单引号(撇号),我的代码就会被破坏。我尝试了以下方法,但无法保存。
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'早上好'')
答案 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)