2016-10-10 7 views
6

मेरे पास एक वीबीएस स्क्रिप्ट है जो फॉक्सप्रो डेटाबेस से जुड़ती है।वीबीएस में लूप कैसे बनाएं?

Dim oCN : Set oCN = CreateObject("ADODB.CONNECTION") 
oCN.Open sCS 
Dim oRS : Set oRS = oCN.Execute("SELECT SN_ANALSYS, SN_CRLIM, SN_CURRBAL FROM " & WScript.Arguments(0) & "_SNAME.DBF WHERE SN_ANALSYS != '' ORDER BY SN_ANALSYS ASC") 
Do Until oRS.EOF 
    WScript.Echo oRS.Fields(0).value, "50", oRS.Fields(1).Value 
    WScript.Echo oRS.Fields(0).value, "51", oRS.Fields(2).Value 
    oRS.MoveNext 
Loop 
oCN.Close 

मैं एक बैट के माध्यम से इसे चलाने:

C:\query.vbs A > \\share\results.txt 

A क्वेरी (WScript.Arguments(0)) में प्रयोग किया जाता है। हालांकि मैं यह करने के सक्षम होना चाहते हैं:

C:\query.vbs A,D > \\share\results.txt 

तो यह है कि यह A और D का उपयोग कर 2 प्रश्नों चलाता है लेकिन परिणाम एक ही results.txt में जाते हैं।

उत्तर

3

WScript.Arguments.Unnamed collection का उपयोग करें।

Dim arg 

For Each arg in WScript.Arguments.Unnamed 
    ' use arg in the SQL query 
Next 

और, एक अल्पविराम के बिना फोन ताकि cmd.exe अलग तर्क के रूप में उन्हें पहचानता है:

C:\query.vbs A D > \\share\results.txt 
संबंधित मुद्दे