' option explicit ' <== uncomment to debug
'
' QUERIES.VBS
' loadQuery filename, queryname, var texte
' SubstParm paramname, value, var texte
'
' explore aFilename à la recherche de '[<aQueryname>] puis charge les lignes non vides dans gTexte
sub LoadQuery(aFilename, aQueryName, gTexte)
dim lFSO, lFin, s, done
err.clear: on error resume next
set lFSO = createObject("Scripting.FileSystemObject")
if err.Number = 0 then
set lFin = lFSO.OpenTextFile(aFileName, 1)
if err.Number = 0 then
on error goto 0
done = lFin.AtEndOfStream
gTexte = ""
while not done
s = lFin.ReadLine
if s <> "" then
if left(s, 2) = "'[" then ' s'il s'agit d'un commentaire
s = trim(mid(s, 3, len(s) - 2)) ' => keyw]
s = trim(left(s, len(s) - 1)) ' => keyw
if ucase(s) = ucase(aQueryName) then ' on a trouvé notre requête => la charger
while not done
s = lFin.readLine
if s = "" or s = "'" or left(s, 2) = "'[" then
done = true
else
if gTexte <> "" then gTexte = gTexte & " "
gTexte = gTexte & right(s, len(s) - 1)
done = lFin.AtEndOfStream
end if
wend ' not done
end if ' s = <keyw>
end if ' = '[
end if ' s <> ''
done = done or lFin.AtEndOfStream
wend ' not done
lFin.Close
Set lFin = Nothing
end if ' lFin disponible
Set lFSO = Nothing
end if ' lFSO disponible
if err.number <> 0 then err.raise
end sub
' substitue <aValue> à :<aParamName> dans <gTexte>
sub SubstParm(aParamName, aValue, gTexte)
if trim(gTexte) <> "" and trim(aParamName) <> "" then
gTexte = replace(gTexte, ":" & aParamName, aValue)
end if
end sub
'
'[QRY1]
'select * from amsf.frps
'where pspn like 'A%'
'[MegaUpdate]
'[QRY2]
'update amsf.frst
'set stcodrav = (select count(1) from frsta
'where stapn=stpn and stcodmag=:MAG)
'
' ----- area to uncomment to test this lib
'dim srcFile: srcFile="c:\lib\queries.vbs"
'dim texte: texte = "rien n'a été trouvé"
'LoadQuery srcfile, "", texte
'wscript.echo "(vide) => " & texte
'LoadQuery srcfile, "Introuvable", texte
'wscript.echo "Introuvable => " & texte
'LoadQuery srcfile, "mEGAuPDATE", texte
'wscript.echo "MegaUpdatE => " & texte
'LoadQuery srcfile, "qry1", texte
'wscript.echo "QRY1 => " & texte
'LoadQuery srcfile, "qry2", texte
'wscript.echo "QRY2 => " & texte
'SubstParm "MAG", "'ONE'", texte
'wscript.echo texte
jeudi 20 novembre 2008
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire