XML and the SQL 2000 Server, Part 4: Introducing SqlXml 3.0 - XML data using Dataset
(Page 2 of 9 )
The dataset set is a very important class as it represents the dual nature of data, its existence in a relational format(table) and its internal representation as XML. It provides a disconnected view of the data on the server. The following picture shows the partial view of Dataset class as seen in the ClassViewer.
So how does the data retrieved from server in XML? A SQLConnection is made to the server(as in the previous case), a SQLCommand is created to grab the XML fragment using the TSQL extension clause(as in the previous case), a SQLDataAdapter uses this command as its argument. The SQLDataAdapter's fill method, populates the DataSet's table. The Dataset calls its WriteXML method to the MemoryStream. The stream from this StreamReader can then be displayed.
An ASP.NET web application is started and a SqlConnection1 is added to the web form and then a SqlCommand1 control added and configured as mentioned in the previous case. Additionally, a Textbox control is added to the web form to receieve the stream data. In the Page_load event, the following code is written(remember to include imports for Systeem.IO and System. Xml).
Private Sub Page_Load(ByVal sender As System.Object, ByVal _
e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack Then
SqlConnection1.Open()'dropped,configured control
Dim cmd As New SqlClient.SqlCommand
cmd = SqlCommand1'dropped, configured control
Dim da As New SqlClient.SqlDataAdapter(cmd)
Dim ds As New DataSet("Titles")
da.Fill(ds, "Publishers")
SqlConnection1.Close()
'Write the DataSet as XML to a Stream
Dim strm As New MemoryStream
ds.WriteXml(strm, XmlWriteMode.IgnoreSchema)
strm.Position = 0
Dim strmR As New StreamReader(strm)
''Display the contents of the stream
TextBox1.Text = strmR.ReadToEnd
strm.Close()
End If
End Sub
The result of building this project and browsing the web form in IE yields the following,
Next: Enter SQLXML 3.0 >>
More MS SQL Server Articles
More By Jayaram Krishnaswamy