非法字符串的存取

wxj8888 2003-10-17 11:29:34
在一个为VARCHAR2(1000)的字段中,录入人员录入了一些ORACLE较敏感的符号,如'''"""'',,,'''>><<<''""",'''等等,INSERT和UPDATE的SQL语句报错,请教各位高手,在ASP和ASP、NET环境中,如何正确地把该字段的内容存入至数据库中???
请多多指教!!!!!
...全文
28 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallcrocodile 2003-10-22
  • 打赏
  • 举报
回复
关注
wxj8888 2003-10-21
  • 打赏
  • 举报
回复
在asp中,采用recordset.addnew和recordset.update,已经基本解决了,谢谢各们高手的指点。现在我想把asp.net中遇到的同样问题,也想把它解决,但不知如何下手???请各位高手指教指教!!!!!!
wxj8888 2003-10-21
  • 打赏
  • 举报
回复
在中,采用和,已经基本解决了,谢谢各们高手的指点。现在我想把中遇到的同样问题,也想把它解决,但不知如何下手???请各位高手指教指教!!!!!!
beckhambobo 2003-10-17
  • 打赏
  • 举报
回复
所有这些符号都可以用两个单引号来标注
LGQDUCKY 2003-10-17
  • 打赏
  • 举报
回复
select 'aaa'||'''aa'''||'fads' from dual
SQL> /

'AAA'||'''A
-----------
aaa'aa'fads

这样可以写进单引号。
LGQDUCKY 2003-10-17
  • 打赏
  • 举报
回复
用CHAR(N)来替换,或者用单引号来构造,
enhydraboy 2003-10-17
  • 打赏
  • 举报
回复
这和编程工具有关。
拿asp举例。
数据库编程是通过ado来实现的。
ado中有两种方法实现insert,update。
1 采用ado recordset
rs.addnew
rs.fields("columnname").value=...
...
rs.update
在这种情况下,是不用考虑单引号,双引号这种ORACLE较敏感的符号。需要考虑的是处理字段内容为null时候的引起异常问题。
2 采用cn.execute方法
这时候,是通过insert ,update的sql语句来做的,这就和具体数据库支持的sql语句语法有关了,要考虑ORACLE较敏感的符号的问题,还有vb语言中双引号问题。
example:
sSQL="insert into a values('" & replace("I'm a nurse","'","''") & "'," & "'""')"
cn.execute ssql

请注意上面单引号和双引号的处理,前者为了满足oracle的sql语句的要求,后者是vb语言的要求。



17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧