SQL语句中&、单引号等特殊符号的处理

在遇到SQL更新语句因特殊字符如英文单引号引发错误时,需要对这些特殊符号进行处理。例如,可以使用字符串替换方法将单引号转义,如 `Replace("’", “’’”)`。对于不熟悉的特殊符号,可以通过ASCII函数查询其值,如 `ascii(’&’)` 返回38,再用Oracle的chr函数处理,`chr(38)` 得到 `&` 符号。" 120021780,7796949,Simulink中的Math Function模块详解,"['matlab', 'simulink', '数学运算']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 今天遇见一个update语句报错,实施查出来是页面输入的字符串有问题,有一个'英文单引号就报错,这是因为'是sql语句中的特殊符号。

这时候就要进行特殊符号的处理
  if (db.DbType == GSPDbType.Oracle)
                {
                    sbFkbl.Append("UPDATE ROBXFK SET ROBXFK_FKZT=1,ROBXFK_ZFFS='" + Convert.ToString(dr["ROSFK_ZFFSBH"]) + "',ROBXFK_DFS='" + Convert.ToString(dr["ROSFK_DFSMC"]) + "',ROBXFK_DFCS='" + Convert.ToString(dr["ROSFK_DFCSMC"]) + "',ROBXFK_PJBH='" + Convert.ToString(dr["ROSFK_PJBH"]) + "', ");
                    sbFkbl.Append("ROBXFK_FKYH='" + Convert.ToString(dr["ROSFK_FKYH"]) + "',ROBXFK_FKZH='" + Convert.ToString(dr["ROSFK_FKZH"]) + "',ROBXFK_FKKM='" + Convert.ToString(dr["ROSFK_FKKM"]) + "', ");
                    sbFkbl.Append("ROBXFK_BZ='" + Convert.ToString(dr["ROSFK_BZ"]).Replace("'", "''") + "',ROBXFK_CN='" + psGsUserName + "', ");
                    sbFkbl.Append("ROBXFK_BLSJ=to_date('" + allCurDate + "','YYYY/MM/DD HH24:MI:SS') ");
                    sbFkbl.Append("WHERE ROBXFK_FKNM='" + Convert.ToString(dr["ROSFK_NMC"]) + "'; ");

(dr[“ROSFK_BZ”]).Replace("’", “’’”) 上面的sql语句,可以看见,将'转译为''

 在查询的时候,其他不能处理的特殊符合,如果不知道该特殊符号的ascii值,可以调用ascii函数处理,
如:select ascii(’&’) from dual;
结果:38
用Oracle的字符串处理函数chr处理。chr(38)表示 &符号
如:select chr(38) from dual;
结果:&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值