超难题目, 200 分救解,操作符丢失

SQL语句为: update abc set a='abc'd '

其中,ABC是表名,A 列,是字符串...里面己经有一个值:123

现在要运行更新语句,UPDATE

其中: abc'd 是用户输入的字符串数据.... 这个不能更改!!!!!(要是这个能改,我就不上来救人了!)

问: 有没有什么办法能让SQL 运行这句更新呢??
在次说明: abc'd 这个字符串中有一个' 符号,这个符号和这个字符串是不能更改的!!!!
UPDATE 的SQL语句可以更,只要能运行一个修改更新数据就OK!

第1个回答  2008-02-15
可以采用$abcd=addslashes('abc\'d') PHP
或者采用 replace 的方法 先把字符替换存进数据库 然后再从数据库提出的时候再进行一次替换

由于你写的是SQL 不清楚是MSSQL 还是MYSQL 所以只能都考虑下 然后从他们常结合的ASP和PHP2个角度来回答

其实对于SQL语句默认符号一般都采用预先自定义函数来进行替换。

你的问题里面说不能太修改,其实我明白客户也许输入的是英文 可能会出现it's这样的输入方式 你完全可以体现对字符串中出现了"'"这样的符号进行自定义函数置换,然后从客户端调用数据库的时候在进行2次置换。 当然PHP中的魔法字符的方法还是最方便的
第2个回答  2008-02-15
用户可以输入abc'd, 但在传入到后台SQL时就要对此进行处理, 不知道你用的是什么, 一般是将用户输入的字符替换, 这样
abc'd.Replace("'","''"); 再把这个传到update语句中就不会出错了, 如果不在传入update之前处理是不可能执行的.
第3个回答  2008-02-15
仔细看了下你的更新语句,源于一个',你要把这个符号也插入数据库???

很简单
你多加一个'就可以了

如下:
update abc set a='abc''d '

呵呵!共同学习~
第4个回答  2008-02-15
把abc'd用括号括上
(abc'd) 你多加一个'就可以了

如下:
update abc set a='abc''d '本回答被提问者采纳
第5个回答  2008-02-15
拆分为两个字符串 然后链接OK

超难题目, 200 分救解,操作符丢失
可以采用$abcd=addslashes('abc\\'d') PHP 或者采用 replace 的方法 先把字符替换存进数据库 然后再从数据库提出的时候再进行一次替换 由于你写的是SQL 不清楚是MSSQL 还是MYSQL 所以只能都考虑下 然后从他们常结合的ASP和PHP2个角度来回答 其实对于SQL语句默认符号一般都采用预先自定义函数来进行替换。

在向数据库插入字符串时 提示操作符丢失 是什么原因
操作符丢失:就是操作对象丢失。你检查一下你的代码,也就是出错的那一行,看看操作的对象是什么,确认下对象是否正确,也许是你不小心写漏代码了或写漏对象了。不过建议你还是把代码贴出来,那样是最直接的方法。

语法错误 (操作符丢失) 如何解决
操作符丢失主要问题是变量名什么的写错了,导致变量值为空,后面再做存储操作的时候就会报错 比如ads_id=43 最后得不到43 就查不到数据库中属于43的那条记录

语法错误 (操作符丢失)
明显拼接sql的时候没加空格。

高手帮忙 操作符丢失
if(pageno <> 1)then > 第一页 < End if if(pageno <> 1)then > <a href="?pageno=<%=(pageno-1)%>">上一页 < end if if(instr(pageno,cstr(rs.pagecount)) = 0)then > <a href="?pageno=<%=(pageno+1)%>">下一页 < end if if(instr(pageno,cstr(rs.pagecount...

SQL操作符丢失是什么意思?
如下:缺少空格,关键字也错了,改成这样:SELECT学生编号,姓名,成绩FROM学生成绩查询WHERE成绩<80 UNION SELECT 学生编号,姓名,成绩FROM90分以上学生情况;

语法错误 (操作符丢失) 在查询表达式
1、[Box1]是否是数据名;2、是否有session("UserName")变量存在 3、是否有SpecialID 变量存在

"操作符丢失"是什么意思
cmd.CommandText = "UPDATE bbs SET hits = hits + 1 WHERE Id = 'MM_hits' "因为是字符串 所以要加单引号

语法错误 (操作符丢失) 在查询表达式 'id=' 中
这句话的意思是id没有得到传值,也就是说没有得到rs("banci")这个值,你可以用response.write rs("banci") 来测试一下是否查询到了banci这个值 别忘了写response.end

法错误 (操作符丢失) 在查询表达式 '学生id= and (是否补考=False or...
session("id")为空或者已经超时了,请对session("id")赋值后再进行操作。要进行此查询,最好是对session("id")进行判断是否为数字。

相似回答
大家正在搜