Board logo

标题: [文本处理] [已解决]用SELECT读取到SQL字段的值如何赋值给变量? [打印本页]

作者: lovealei    时间: 2011-11-20 09:45     标题: [已解决]用SELECT读取到SQL字段的值如何赋值给变量?

本帖最后由 lovealei 于 2011-11-20 13:58 编辑

在批处理中我用下面的代码运行得到了字段password的值为 123456 ,要如何赋值给变量pwd呢?
OSQL -S localhost -U user -P sqlpwd  -d local -Q "Select password from t1 where userid='%card%'

变量要在批处理中有效,而不是SQL里面...
作者: lovealei    时间: 2011-11-20 12:11

本帖最后由 lovealei 于 2011-11-20 13:37 编辑

经过一个早上的搜索,终于自己弄好了,把代码贴出来
让有需要的人来拿吧!
  1. OSQL -S %sqlserver% -U %user% -P %sqlpwd% -d local -Q "declare @base64pwd varchar(32);select @base64pwd=(Select password from cur_useraccount where userid='card');print @base64pwd; ">1.TXT
  2. SET /p base64pwd=<1.txt
复制代码
  1. if Defined base64pwd (
  2.      goto ST3
  3.    ) else goto ST4
复制代码
现在我在后面加了个判断,为什么不管%base64pwd% 的值为不为空返回都一样,那里错了??
作者: lovealei    时间: 2011-11-20 13:58

原来是文件不为空,有个换行,唉,又犯老错误了,我改用 findstr 来判断了,因为 base64 最后都有个 = 号,
作者: wumingahui    时间: 2015-11-21 11:32

请教下,如果查询返回的值不止一个,怎么办
作者: 依山居    时间: 2015-11-21 11:35

回复 4# wumingahui


   去看for 的用法。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2