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 e in quanto tali è possibile passare loro parametri. Per ulteriori informazioni sul passaggio di parametri ai modelli, vedere Considerazioni sulla sicurezza degli updategram (SQLXML 4.0).
Gli updategram consentono di passare NULL come valore di parametro. Per passare il valore di parametro NULL, è necessario specificare l'attributo nullvalue. Il valore assegnato all'attributo nullvalue viene quindi fornito come valore di parametro e considerato come NULL dagli updategram.
[!NOTA]
In <sql:header> e <updg:header> è necessario specificare nullvalue come non qualificato, mentre in <updg:sync> nullvalue viene specificato come qualificato (ad esempio, updg:nullvalue).
Esempi
Per creare esempi reali utilizzando gli esempi seguenti, è necessario soddisfare i requisiti specificati in Requisiti per l'esecuzione di esempi di SQLXML.
Prima di utilizzare gli esempi dell'updategram, si noti quanto segue:
- Negli esempi viene utilizzato il mapping predefinito, ovvero non viene specificato alcuno schema di mapping nell'updategram. Per ulteriori esempi di updategram in cui vengono utilizzati schemi di mapping, vedere Specifica di uno schema di mapping con annotazioni in un updategram (SQLXML 4.0).
A.Passaggio di parametri a un updategram
In questo esempio l'updategram modifica il cognome di un dipendente nella tabella HumanResources.Shift. All'updategram vengono passati due parametri: ShiftID, utilizzato 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 sopra indicato in Blocco note e salvarlo in un file con il nome UpdategramWithParameters.xml.
Preparare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) in Utilizzo 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. L'updategram converte il valore di parametro "isnull" in NULL e lo elabora di conseguenza.
Nell'updategram seguente la qualifica di un dipendente viene impostata 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 sopra indicato in Blocco note e salvarlo in un file con il nome UpdategramPassingNullvalues.xml.
Preparare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) in Utilizzo 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)
Vedere anche
Riferimento
Considerazioni sulla sicurezza degli updategram (SQLXML 4.0)