Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli updategram sono modelli; pertanto, è possibile passarli parametri. Per altre informazioni sul passaggio di parametri ai modelli, vedere Considerazioni sulla sicurezza di Updategram (SQLXML 4.0).
Gli updategram consentono di passare NULL come valore di parametro. Per passare il valore del parametro NULL, specificare l'attributo nullvalue . Il valore assegnato all'attributo nullvalue viene quindi fornito come valore del parametro. Gli updategram considerano questo valore come NULL.
Annotazioni
In <sql:header> e <updg:header>è necessario specificare come nullvalue non qualificato; mentre, in <updg:sync>, si specifica come nullvalue qualificato (ad esempio, updg:nullvalue).
Esempi
Per creare esempi funzionanti usando gli esempi seguenti, è necessario soddisfare i requisiti specificati in Requisiti per l'esecuzione di esempi SQLXML.
Prima di usare gli esempi di updategram, tenere presente quanto segue:
- Negli esempi viene usato il mapping predefinito, ovvero non viene specificato alcuno schema di mapping nell'updategram. Per altri esempi di updategram che usano schemi di mapping, vedere Specifica di uno schema di mapping con annotazioni in un updategram (SQLXML 4.0).
Un. Passaggio di parametri a un updategram
In questo esempio l'updategram modifica il cognome di un dipendente nella tabella HumanResources.Shift. L'updategram viene passato a due parametri: ShiftID, che viene usato per identificare in modo univoco un turno e Name.
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header>
<updg:param name="ShiftID"/>
<updg:param name="Name" />
</updg:header>
<updg:sync >
<updg:before>
<HumanResources.Shift ShiftID="$ShiftID" />
</updg:before>
<updg:after>
<HumanResources.Shift Name="$Name" />
</updg:after>
</updg:sync>
</ROOT>
Per testare l'updategram
Copiare l'updategram precedente nel Blocco note e salvarlo nel file come UpdategramWithParameters.xml.
Preparare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) in Uso di ADO per eseguire query SQLXML 4.0 per eseguire l'updategram aggiungendo le righe seguenti dopo
cmd.Properties("Output Stream").Value = outStream:cmd.NamedParameters = True ' CreateParameter arguments: Name, Type, Direction, Size, Value cmd.Parameters.Append cmd.CreateParameter("@ShiftID", 2, 1, 0, 1) cmd.Parameters.Append cmd.CreateParameter("@Name", 200, 1, 50, "New Name")
B. Passaggio di NULL come valore di parametro a un updategram
Durante l'esecuzione di un updategram, il valore "isnull" viene assegnato al parametro che si desidera impostare su NULL. Updategram converte il valore del parametro "isnulll" in NULL e lo elabora di conseguenza.
L'updategram seguente imposta un titolo dipendente su NULL:
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header nullvalue="isnull" >
<updg:param name="EmployeeID"/>
<updg:param name="ManagerID" />
</updg:header>
<updg:sync >
<updg:before>
<HumanResources.Employee EmployeeID="$EmployeeID" />
</updg:before>
<updg:after>
<HumanResources.Employee ManagerID="$ManagerID" />
</updg:after>
</updg:sync>
</ROOT>
Per testare l'updategram
Copiare l'updategram precedente nel Blocco note e salvarlo nel file come UpdategramPassingNullvalues.xml.
Preparare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) in Uso di ADO per eseguire query SQLXML 4.0 per eseguire l'updategram aggiungendo le righe seguenti dopo
cmd.Properties("Output Stream").Value = outStream:cmd.NamedParameters = True ' CreateParameter arguments: Name, Type, Direction, Size, Value cmd.Parameters.Append cmd.CreateParameter("@EmployeeID", 3, 1, 0, 1) cmd.Parameters.Append cmd.CreateParameter("@ManagerID", 3, 1, 0, Null)