exec hdpt_InsertUpdateDelete 'Update ','HDPT_WebManage ','Email=''aa'',Pwd=''bb''', 'where id=18 '
解决方案 »
- 求Sql语句一条
- 又是一菜鸟问题,等待您的解答!
- SQL SERVER通过建立链接服务器通过查询分析器访问ORACLE问题求助
- 再开一贴,没有解决
- 分号在sqlserver中对t-sql或sql语句末尾有没有用?
- 查找字符串的问题
- 求助:这样的select语句怎么写?年和月是可变的
- An error 1069 (由于登录而无法启动服务器)
- 恨!MDB倒入SQL2K后,原来的数据类型全变成了VARCHAR,且主键全没了!
- 请问client为客户表 ,hist_client客户的历史表的联结错在那里呀!!!!很急的!
- 求一个SQL的写法(单表)
- 哇,好久不来都换心面容了,散分给大家!!出一道题目大家一块帮忙看看,
exec时,相当于执行
...where email=aa,pwd=bb
会把 aa,bb当列名来处理, 所以会报错.
解决办法,沟沟已经写了,我就不重复了.
--列名在串中不需要用单引号,但字符串值在串内应该用单引号引起来,且串内两个单引号表示一个单引号exec hdpt_InsertUpdateDelete 'Update', 'HDPT_WebManage', 'Email=''aa'',Pwd=''bb''','where id=18'
所以就是上面说的'Email=''aa'',Pwd=''bb'''
比如有些列类型为varchar型,而此列的值为数值时(只有数值的字符),可以省略掉'号
所以就会出现你碰到的那种情况正常情况下使用应该是上面大家所说的,你的语句只是特殊情况下的产物
exec hdpt_InsertUpdateDelete 'Delete','HDPT_WebManage','Email=11,Pwd=22','where id=18 or 1=1'
--> = Crying
exec hdpt_InsertUpdateDelete 'Crying','HDPT_WebManage','Email=11,Pwd=22','where id=18 or 1=1'-- 这样你不用Crying,静静地自己炒自己吧:
exec hdpt_InsertUpdateDelete 'Crying','HDPT_WebManage','Email=11,Pwd=22','where id=18 or 1=1 dump tran ...'
--@WhereString有500长度,足够写很多东西了