Operation Manual

DREAMWEAVER CS3
Handboek
566
De lusinstructie accepteert een met komma's gescheiden lijst met parameterarrays als argumenten. In dit geval kan een
gebruiker met parameterarrays als argument meerdere waarden voor een enkele parameter opgeven. De herhalingstekst
wordt n keer gedupliceerd, waarbij n de lengte is van de parameterarray-argumenten. Als meer dan één parameterarray-
argument is opgegeven, moeten alle arrays even lang zijn. Bij de ide evaluatie van de lus vervangen de ide elementen van
de parameterarrays de bijbehorende parameterinstanties in het codeblok.
Wanneer u een dialoogvenster voor het servergedrag maakt, kunt u een besturingselement aan het dialoogvenster
toevoegen waarmee de paginaontwerper parameterarrays kan maken. Dreamweaver bevat een eenvoudig
arraybesturingselement dat u kunt gebruiken om dialoogvensters te maken. Dit besturingselement, de Door kommas
gescheiden lijst van tekstvelden, is beschikbaar via de opbouwfunctie voor servergedrag. Als u complexere
gebruikersinterface-elementen wilt maken, raadpleegt u de API-documentatie voor het maken van een dialoogvenster met
een besturingselement waarmee u arrays kunt maken (bijvoorbeeld een rasterbesturingselement).
U kunt een willekeurig aantal voorwaarden of een lusinstructie in een voorwaardelijke instructie nesten. U kunt
bijvoorbeeld opgeven dat de lus wordt uitgevoerd als een bepaalde expressie waar is.
In het volgende voorbeeld ziet u hoe een dergelijke herhaling van codeblokken kan worden gebruikt om servergedrag te
maken (het voorbeeld is een ColdFusion-gedrag dat wordt gebruikt om toegang te krijgen tot een opgeslagen procedure):
<CFSTOREDPROC procedure="AddNewBook"
datasource=#MM_connection_DSN#
username=#MM_connection_USERNAME#
password=#MM_connection_PASSWORD#>
<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryID#"
cfsqltype="CF_SQL_INTEGER">
<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"
cfsqltype="CF_SQL_VARCHAR">
</CFSTOREDPROC>
In dit voorbeeld kan de CFSTOREDPROC-tag nul of meer CFPROCPARAM-tags bevatten. Zonder de lusinstructie is het echter
niet mogelijk om de
CFPROCPARAM-tags in de ingevoegde CFSTOREDPROC-tag op te nemen. Als dit zonder lusinstructie als een
servergedrag moest worden gemaakt, had u dit voorbeeld in twee deelnemers moeten verdelen: een hoofdtag
CFSTOREDPROC en een CFPROCPARAM-tag met een meervoudig deelnemerstype.
Met de lusinstructie kunt u dezelfde procedure als volgt schrijven:
<CFSTOREDPROC procedure="@@procedure@@"
datasource=#MM_@@conn@@_DSN#
username=#MM_@@conn@@_USERNAME#
password=#MM_@@conn@@_PASSWORD#>
<@ loop (@@paramName@@,@@value@@,@@type@@) @>
<CFPROCPARAM type="IN"
dbvarname="@@paramName@@"
value="@@value@@"
cfsqltype="@@type@@">
<@ endloop @>
</CFSTOREDPROC>
Opmerking: Nieuwe regels na '@>' worden genegeerd.
Als de gebruiker de volgende parameterwaarden in het dialoogvenster Servergedrag heeft ingevoerd:
procedure = "proc1"
conn = "connection1"
paramName = ["@CategoryId", "@Year", "@ISBN"]
value = ["#Form.CategoryId#", "#Form.Year#", "#Form.ISBN#"]
type = ["CF_SQL_INTEGER", "CF_SQL_INTEGER", "CF_SQL_VARCHAR"]
voegt het servergedrag de volgende runtimecode op de pagina in: