Operation Manual

Table Of Contents
651
VERWENDEN VON DREAMWEAVER
Dynamische Seiten erstellen
Last updated 10.4.2012
<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 diesem Beispiel kann das Tag CFSTOREDPROC null oder mehr CFPROCPARAM-Tags enthalten. Ohne Unterstützung
der Schleifenanweisung besteht jedoch keine Möglichkeit, die
CFPROCPARAM-Tags in das eingefügte CFSTOREDPROC-
Tag einzubeziehen. Wenn dies als Serververhalten ohne Verwendung der Schleifenanweisung erstellt werden sollte,
müssten Sie dieses Beispiel in die folgenden zwei Mitglieder aufteilen: ein
CFSTOREDPROC-Haupt-Tag und ein
CFPROCPARAM-Tag, dessen Mitgliedertyp mehrfach ist.
Unter Verwendung der Schleifenanweisung können Sie die gleiche Prozedur wie folgt schreiben:
<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>
Note: Zeilenschaltungen nach „@>“ werden ignoriert.
Angenommen, der Benutzer hat die folgenden Parameterwerte in das Dialogfeld „Serververhalten“ eingegeben:
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"]
In diesem Fall würde das Serververhalten den folgenden Laufzeitcode in die Seite einfügen:
<CFSTOREDPROC procedure="proc1"
datasource=#MM_connection1_DSN#
username=#MM_connection1_USERNAME#
password=#MM_connection1_PASSWORD#>
<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryId#"
cfsqltype="CF_SQL_INTEGER">
<CFPROCPARAM type="IN" dbvarname="@Year" value="#Form.Year#"
cfsqltype="CF_SQL_INTEGER">
<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"
cfsqltype="CF_SQL_VARCHAR">
</CFSTOREDPROC>
Note: Parameter-Arrays dürfen außerhalb einer Schleifenanweisung nur als Teil eines bedingten Anweisungsausdrucks
verwendet werden.