Continuiamo la trattazione di SQLXML con la creazione di uno script ASP.NET in grado di visualizzare a video il risultato di una query XML restituita da SQL Server.
Pur potendo sfruttare le classi managed, è preferibile utilizzare semplicemente la classe SqlCommand per l'estrazione dei dati, se il nostro interesse è semplicemente rivolto alla visualizzazione dei dati.
<%@ Import namespace="System.Data"%>
<%@ Import namespace="System.Data.SqlClient"%>
<SCRIPT RUNAT="SERVER" Language="C#">
void Page_Load() {
// root XML dei dati
string root = "dati";
// imposto il ContenType e scrivo la root
Response.ContentType = "text/xml";
Response.Write("<" + root + ">");
// definisco la query SQL
string sql = "SELECT * FROM titles FOR XML AUTO, ELEMENTS";
// effettuo la connessione
SqlConnection conn = new SqlConnection("Data Source=(local); Initial Catalog=pubs; Integrated Security=SSPI;");
conn.Open();
// recupero i dati un po' alla volta con la classe SqlCommand
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read()) {
Response.Write(dr[0].ToString());
}
conn.Close();
// chiudo la root XML
Response.Write("</" + root + ">");
}
</SCRIPT>In alternativa sarebbe possibile utilizzare il metodo ExecuteXmlReader() della classe SqlCommand.
Con una rapida occhiata tramite Reflector si può notare, però, che, proprio per la sua predisposizione verso XML, questo metodo sarebbe meno performante per la scrittura diretta a video dell'output.
Per approfondimenti si veda:
Query XML con T-SQL e SQL Server 2000
http://www.aspitalia.com/articoli/db/xmlt-sql.aspx
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.









Stampa
Snippet
Download 



