将Sql查询转换为vb脚本

时间:2013-05-17 09:21:38

标签: sql sql-server-2005 vbscript

我有以下SQL查询。我想在中执行相同的查询,但我无法转换它并且无法获得正确的结果。我可以获得正确的转换格式吗?

SELECT distinct CASE 
WHEN enty_typ_cd = 'acct' THEN 'Account : '
WHEN enty_typ_cd = 'pfolio' THEN 'Portfolo : '
END +
a.mstr_shrt_nm_id as [ ]
FROM RCMglbl..nav_nt a, RCMglbl..enty_mstr b
WHERE a.enty_id = b.id AND office = 'sf'
AND mnth_end_dt <> (select lst_mo_end_dt from RCMglbl..proc_dt)
AND mnth_end_dt is not NULL

1 个答案:

答案 0 :(得分:1)

我不确定你将字符串转换为VBscript是什么意思......就像Ansgar Wiechers说的那样,字符串保持不变,环境改变了 无论如何......
将此代码放在notepad.exe中 编辑connection string以适合您的服务器
保存.vbs分机的文件
找到并运行它!

Const adUseClient = 3
Dim cn
Set cn = CreateObject("ADODB.Connection")

dim sql
sql = "SELECT distinct CASE " & _
        "WHEN enty_typ_cd = 'acct' THEN 'Account : ' " & _ 
        "WHEN enty_typ_cd = 'pfolio' THEN 'Portfolo : ' " & _ 
        "END + a.mstr_shrt_nm_id as [ ] " & _
        "FROM RCMglbl..nav_nt a, RCMglbl..enty_mstr b " & _ 
        "WHERE a.enty_id = b.id AND office = 'sf' " & _ 
        "AND mnth_end_dt <> (select lst_mo_end_dt from RCMglbl..proc_dt) " & _
        "AND mnth_end_dt is not NULL"
with cn 
    .CursorLocation = adUseClient
    .Open "Driver={SQL Server};Server=SERVER_NAME; Database=DATABASE_NAME; UID=USER_ID_NAME; PWD=PASSWORD"
    .CommandTimeout = 0
    .Execute(sql)
end with

cn.close
set cn = Nothing

一旦你开始工作,你就必须考虑从查询中获得的结果......因此,我建议你阅读更多关于SELECT STATEMENTRECORDSET

的信息