<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C#</title><link>http://blogs.vbcity.com/mcintyre/category/22.aspx</link><description>C#</description><managingEditor>Mike McIntyre [MVP Visual Basic]</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Search and Navigation Improvements on MSDN</title><link>http://blogs.vbcity.com/mcintyre/archive/2007/05/26/8324.aspx</link><pubDate>Sat, 26 May 2007 08:03:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2007/05/26/8324.aspx</guid><description>&lt;P&gt;MSDN has had a face lift.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx"&gt;Visual Basic Development Center &lt;/A&gt;
&lt;P&gt;
&lt;P&gt;For an explanation of the search and navigation imporovements visit:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/bb457197.aspx"&gt;Search and Navigation Improvements on MSDN&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/8324.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>ADO.NET 2.0 The Series for Visual Basic 2005 and C# 2.0 - Part One</title><link>http://blogs.vbcity.com/mcintyre/archive/2007/02/07/8181.aspx</link><pubDate>Wed, 07 Feb 2007 13:53:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2007/02/07/8181.aspx</guid><description>&lt;FONT size=1&gt;Source Code: &lt;/FONT&gt;&lt;A href="http://www.getdotnetcode.com/nexDotNet/020027ADO_NET_2_Series_Part1/ADO_NET_2_Series_Part1.htm"&gt;&lt;FONT size=1&gt;ADO.NET 2.0 The Series - Part One&lt;/FONT&gt;&lt;/A&gt; 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT size=4&gt;ADO.NET 2.0 The Series - Part One&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;FONT size=2&gt;This is part one of a multi-part article about ADO.NET 2.0. Part one introduces the ADO.NET 2.0 Object Model and provides source code which implements the ADO.NET Connection, Command, and Reader objects using the System.Data.SqlClient data provider. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The source code .zip file included with part one contains:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;Visual Basic 2005 Windows Forms Application&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;C# 2005 Windows Forms Application&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;B&gt;&lt;FONT size=2&gt;Application Screen Shot&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;IMG height=228 src="http://getdotnetco.web119.discountasp.net/nexDotNet/020027ADO_NET_2_Series_Part1/ADOThe1.jpg" width=221 border=0&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;The application opens a connection to a Sql Server database (Northwind database), runs a select command on the Northwind database's Categories table, reads the results returned, and displays the results in a RichTextbox control.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;ADO.NET Object Model&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The ADO.NET object model below presents the high level components of ADO.NET. Spend some time studying the model but don't worry if it is not completely clear at this point. It will be covered in depth in other parts of this article.&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;IMG height=204 src="http://getdotnetco.web119.discountasp.net/nexDotNet/020027ADO_NET_2_Series_Part1/SetupA1.gif" width=611 border=0&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;B&gt;&lt;FONT size=2&gt;Data Provider Components&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;.NET Data Provider Namespaces&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;System.Data.SqlClient - Sql Server Data Provider&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;System.Data.OleDB - OLE DB Data Provider&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;System.Data.Odbc - ODBC Data Provider&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;System.Data.OracleClient - Oracle Data Provider&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;A data provider includes Connection, Command, Reader, and Adapter objects.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;Data provider components are specific to a data source.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;.NET data providers contain the same objects, but their names and some of their properties and methods differ. Examples:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;B&gt;SqlClient Data Provider&lt;/B&gt; - SqlConnection, SqlCommand, SqlDataReader, SqlDataAdapter&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;B&gt;OleDB Data Provider&lt;/B&gt; - OleDbConnection, OleDbCommand, OleDbDataReader, OleDbDataAdapter&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;B&gt;Odbc Data Provider&lt;/B&gt; - OdbcDbConnection, OdbcDbCommand, OdbcDbDataReader, OdbcDbDataAdapter&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;BR&gt;&lt;B&gt;Data Provider Component Objects&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV align=left&gt;
&lt;TABLE id=table1 cellPadding=5 width="81%" border=0 valign="top"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=255&gt;&lt;B&gt;&lt;FONT size=2&gt;Connection Object&lt;/FONT&gt;&lt;/B&gt; 
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;Physical connection to data source&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;BR&gt;Determines the data provider used&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;BR&gt;Determines the data source and database&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=654&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD vAlign=top&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=255 height=71&gt;&lt;B&gt;&lt;FONT size=2&gt;Adapter Object&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=654 height=71&gt;&lt;U&gt;&lt;FONT size=2&gt;DataAdapter&lt;/FONT&gt;&lt;/U&gt; 
&lt;P&gt;&lt;FONT size=2&gt;Provides the bridge between a Connection object and a DataSet object&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Contains four Command objects: Select, Insert, Update, and Delete&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top height=71&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=255&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD vAlign=top width=654&gt;&lt;FONT size=2&gt;&lt;U&gt;TableAdapter&lt;/U&gt; (new in ADO.NET 2.0)&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2&gt;Contains both a DataAdapter object and a Connection object.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2&gt;Contains four Command objects: Select, Insert, Update, and Delete plus additional commands as defined by the programmer.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=255&gt;&lt;B&gt;&lt;FONT size=2&gt;Command Object&lt;/FONT&gt;&lt;/B&gt; 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT size=2&gt;SQL statement or stored procedure to be executed at the data source.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;BR&gt;Use standalone or with the DataAdapter or TableAdapter.&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=654&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD vAlign=top&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=255 height=131&gt;&lt;B&gt;&lt;FONT size=2&gt;Reader Object&lt;/FONT&gt;&lt;/B&gt; 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT size=2&gt;Provides a fast, forward-only, read-only stream of data from a data source.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2&gt;Used with a Command object&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=654 height=131&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD vAlign=top height=131&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT size=2&gt;DataSet Object&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;Memory-resident&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;BR&gt;Always disconnected from the data source&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;BR&gt;Models tables and the relationships between them&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;BR&gt;Can contain tables from multiple data sources&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT size=2&gt;Data Consumers&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT size=2&gt;Data consumers are show with the ADO.NET objects in the ADO.NET Object Model to represent the applications, services, and other consumers that may call on the ADO.NET objects. In this article Windows Forms applications and ASP.NET applications will play the role of data consumers.&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;Implementing Connection, SqlCommand, and Reader Objects&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The applications included in the .zip source code file demonstrate how to connect to a Sql Server, execute a Sql SELECT command, and read the results. Excerpts from the source code files are included below.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT size=2&gt;Visual Basic 2005 Code Excerpt&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20  \cf11 ' Declare variable named theConnectionString of type String;\par ??\cf0         \cf11 '  Assign a connection string to theConnectionString variable.\par ??\cf0         \cf11 ' NOTE: To run this yourself replace the connection string with a connection string to a\par ??\cf0         \cf11 '  SQL Server with the Northwind database installed that you have permission to access.\par ??\cf0         \cf2 Dim\cf0  theConnectionString \cf2 As\cf0  \cf2 String\cf0  = \cf13 "Data Source=az-4ffd1ee68bce;Initial Catalog=Northwind;Integrated Security=True"\par ??\par ??\cf0         \cf11 ' Declare a variable named theQueryString of type String;\par ??\cf0         \cf11 '  Assign a string containing a SQL SELECT command to theQueryString\par ??\cf0         \cf2 Dim\cf0  theQueryString \cf2 As\cf0  \cf2 String\cf0  = \cf13 "SELECT CategoryID, CategoryName FROM dbo.Categories;"\par ??\par ??\cf0         \cf11 ' The Visual Basic 2005 'Using' keyword simplifies the use of Dispose methods by\par ??\cf0         \cf11 '  automatically calling dispose for an object.\par ??\cf0         \cf11 ' The keyword is used here to create a SqlConnection object.\par ??\cf0         \cf2 Using\cf0  theSqlConnection \cf2 As\cf0  \cf2 New\cf0  SqlConnection(theConnectionString)\par ??\par ??            \cf11 ' Declare variable named theSqlCommand of type SqlCommand\par ??\cf0             \cf11 '  calling theSqlConnection object's CreateCommand method\par ??\cf0             \cf11 '  and assigning the resulting SqlCommand object to theSqlCommand variable.\par ??\cf0             \cf2 Dim\cf0  theSqlCommand \cf2 As\cf0  SqlCommand = theSqlConnection.CreateCommand()\par ??            \cf11 ' Assign theQueryString to theSqlCommand's CommandText property.\par ??\cf0             theSqlCommand.CommandText = theQueryString\par ??            \cf2 Try\par ??\cf0                 \cf11 ' Open theSqlConnection.\par ??\cf0                 theSqlConnection.Open()\par ??\par ??                \cf11 ' Declare variable named theSqlDataReader of type SqlDataReader\par ??\cf0                 \cf11 '  calling theSqlCommand object's ExecuteReader method\par ??\cf0                 \cf11 '  and assigning the resulting cursor to theSqlDataReader varaiable.\par ??\cf0                 \cf2 Dim\cf0  theSqlDataReader \cf2 As\cf0  SqlDataReader = theSqlCommand.ExecuteReader()\par ??\par ??                \cf11 ' Call theSqlDataReader object's Read method until then end\par ??\cf0                 \cf11 '  of the cursor is reached.\par ??\cf0                 \cf2 Do\cf0  \cf2 While\cf0  theSqlDataReader.Read()\par ??                    \cf11 ' Append a formatted string containing column 0 and column 1 of the row read\par ??\cf0                     \cf11 '  to the ResultsRichTextBox.\par ??\cf0                     \cf2 Me\cf0 .ResultsRichTextBox.AppendText(\cf2 String\cf0 .Format(\cf13 "\{0\}"\cf0  &amp;amp; vbTab &amp;amp; \cf13 "\{1\}"\cf0 , _\par ??                    theSqlDataReader(0), theSqlDataReader(1)) &amp;amp; vbCrLf)\par ??                \cf2 Loop\par ??\cf0                 \cf11 ' Close theSqlDataReader\par ??\cf0                 theSqlDataReader.Close()\par ??            \cf2 Catch\cf0  ex \cf2 As\cf0  Exception\par ??                Console.WriteLine(ex.Message)\par ??            \cf2 End\cf0  \cf2 Try\par ??\cf0         \cf2 End\cf0  \cf2 Using\par ??}
--&gt;
&lt;DIV style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;' Declare variable named theConnectionString of type String;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; Assign a connection string to theConnectionString variable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' NOTE: To run this yourself replace the connection string with a connection string to a&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; SQL Server with the Northwind database installed that you have permission to access.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; theConnectionString &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt; = &lt;SPAN style="COLOR: maroon"&gt;"Data Source=az-4ffd1ee68bce;Initial Catalog=Northwind;Integrated Security=True"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Declare a variable named theQueryString of type String;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; Assign a string containing a SQL SELECT command to theQueryString&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; theQueryString &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt; = &lt;SPAN style="COLOR: maroon"&gt;"SELECT CategoryID, CategoryName FROM dbo.Categories;"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' The Visual Basic 2005 'Using' keyword simplifies the use of Dispose methods by&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; automatically calling dispose for an object.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' The keyword is used here to create a SqlConnection object.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Using&lt;/SPAN&gt; theSqlConnection &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; SqlConnection(theConnectionString)&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Declare variable named theSqlCommand of type SqlCommand&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; calling theSqlConnection object's CreateCommand method&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; and assigning the resulting SqlCommand object to theSqlCommand variable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; theSqlCommand &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; SqlCommand = theSqlConnection.CreateCommand()&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Assign theQueryString to theSqlCommand's CommandText property.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; theSqlCommand.CommandText = theQueryString&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Try&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Open theSqlConnection.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; theSqlConnection.Open()&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Declare variable named theSqlDataReader of type SqlDataReader&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; calling theSqlCommand object's ExecuteReader method&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; and assigning the resulting cursor to theSqlDataReader varaiable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; theSqlDataReader &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; SqlDataReader = theSqlCommand.ExecuteReader()&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Call theSqlDataReader object's Read method until then end&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; of the cursor is reached.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Do&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;While&lt;/SPAN&gt; theSqlDataReader.Read()&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Append a formatted string containing column 0 and column 1 of the row read&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;'&amp;nbsp; to the ResultsRichTextBox.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.ResultsRichTextBox.AppendText(&lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}"&lt;/SPAN&gt; &amp;amp; vbTab &amp;amp; &lt;SPAN style="COLOR: maroon"&gt;"{1}"&lt;/SPAN&gt;, _&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; theSqlDataReader(0), theSqlDataReader(1)) &amp;amp; vbCrLf)&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Loop&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Close theSqlDataReader&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; theSqlDataReader.Close()&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Catch&lt;/SPAN&gt; ex &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; Exception&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; Console.WriteLine(ex.Message)&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Try&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Using&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;!--EndFragment--&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT size=2&gt;C# 2005 Code Excerpt&lt;!--EndFragment--&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20         \cf2 private\cf0  \cf2 void\cf0  RunDemoButton_Click(\cf2 object\cf0  sender, \cf10 EventArgs\cf0  e)\par ??        \{\par ??            \cf11 // Declare variable named theConnectionString of type String;\par ??\cf0             \cf11 //  Assign a connection string to theConnectionString variable.\par ??\cf0             \cf11 // NOTE: To run this yourself replace the connection string with a connection string to a\par ??\cf0             \cf11 //  SQL Server with the Northwind database installed that you have permission to access.\par ??\cf0             \cf2 string\cf0  theConnectionString = \cf13 "Data Source=az-4ffd1ee68bce;Initial Catalog=Northwind;Integrated Security=True"\cf0 ;\par ??\par ??            \cf11 // Declare a variable named theQueryString of type String;\par ??\cf0             \cf11 //  Assign a string containing a SQL SELECT command to theQueryString variable.\par ??\cf0             \cf2 string\cf0  theQueryString = \cf13 "SELECT CategoryID, CategoryName FROM dbo.Categories;"\cf0 ;\par ??\par ??            \cf11 // The C# 'Using' keyword simplifies the use of Dispose methods by\par ??\cf0             \cf11 //  automatically calling dispose for an object.\par ??\cf0             \cf11 // The keyword is used here to create a SqlConnection object.\par ??\cf0             \cf2 using\cf0  (\cf10 SqlConnection\cf0  theSqlConnection = \cf2 new\cf0  \cf10 SqlConnection\cf0 (theConnectionString))\par ??            \{\par ??                \cf11 // Declare variable named theSqlCommand of type SqlCommand\par ??\cf0                 \cf11 //  calling theSqlConnection object's CreateCommand method\par ??\cf0                 \cf11 //  and assigning the resulting SqlCommand object to theSqlCommand variable.\par ??\cf0                 \cf10 SqlCommand\cf0  theSqlCommand = theSqlConnection.CreateCommand();\par ??                \cf11 // Assign theQueryString to theSqlCommand's CommandText property.\par ??\cf0                 theSqlCommand.CommandText = theQueryString;\par ??                \cf2 try\par ??\cf0                 \{\par ??                    \cf11 // Open theSqlConnection.\par ??\cf0                     theSqlConnection.Open();\par ??\par ??                    \cf11 // Declare variable named theSqlDataReader of type SqlDataReader\par ??\cf0                     \cf11 //  calling theSqlCommand object's ExecuteReader method\par ??\cf0                     \cf11 //  and assigning the resulting cursor to theSqlDataReader varaiable.\par ??\cf0                     \cf10 SqlDataReader\cf0  theSqlDataReader = theSqlCommand.ExecuteReader();\par ??\par ??                    \cf11 // Call theSqlDataReader object's Read method until then end\par ??\cf0                     \cf11 //  of the cursor is reached.\par ??\cf0                     \cf2 while\cf0  (theSqlDataReader.Read())\par ??                    \{\par ??                        \cf11 // Append a formatted string containing column 0 and column 1 of the row read\par ??\cf0                         \cf11 //  to the ResultsRichTextBox.\par ??\cf0                         \cf2 this\cf0 .resultsRichTextBox.AppendText(\cf2 string\cf0 .Format(\cf13 "\{0\}"\cf0  + \cf13 "\\t"\cf0  + \cf13 "\{1\}"\cf0 , theSqlDataReader[0], theSqlDataReader[1]) + \cf13 "\\r"\cf0 );\par ??                    \}\par ??\par ??                    \cf11 // Close theSqlDataReader\par ??\cf0                     theSqlDataReader.Close();\par ??                \}\par ??                \cf2 catch\cf0  (\cf10 Exception\cf0  ex)\par ??                \{\par ??                    \cf10 Console\cf0 .WriteLine(ex.Message);\par ??                \}\par ??            \}\par ??        \}}
--&gt;
&lt;DIV style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20            \cf11 // Declare variable named theConnectionString of type String;\par ??\cf0             \cf11 //  Assign a connection string to theConnectionString variable.\par ??\cf0             \cf11 // NOTE: To run this yourself replace the connection string with a connection string to a\par ??\cf0             \cf11 //  SQL Server with the Northwind database installed that you have permission to access.\par ??\cf0             \cf2 string\cf0  theConnectionString = \cf13 "Data Source=az-4ffd1ee68bce;Initial Catalog=Northwind;Integrated Security=True"\cf0 ;\par ??\par ??            \cf11 // Declare a variable named theQueryString of type String;\par ??\cf0             \cf11 //  Assign a string containing a SQL SELECT command to theQueryString variable.\par ??\cf0             \cf2 string\cf0  theQueryString = \cf13 "SELECT CategoryID, CategoryName FROM dbo.Categories;"\cf0 ;\par ??\par ??            \cf11 // The C# 'Using' keyword simplifies the use of Dispose methods by\par ??\cf0             \cf11 //  automatically calling dispose for an object.\par ??\cf0             \cf11 // The keyword is used here to create a SqlConnection object.\par ??\cf0             \cf2 using\cf0  (\cf10 SqlConnection\cf0  theSqlConnection = \cf2 new\cf0  \cf10 SqlConnection\cf0 (theConnectionString))\par ??            \{\par ??                \cf11 // Declare variable named theSqlCommand of type SqlCommand\par ??\cf0                 \cf11 //  calling theSqlConnection object's CreateCommand method\par ??\cf0                 \cf11 //  and assigning the resulting SqlCommand object to theSqlCommand variable.\par ??\cf0                 \cf10 SqlCommand\cf0  theSqlCommand = theSqlConnection.CreateCommand();\par ??                \cf11 // Assign theQueryString to theSqlCommand's CommandText property.\par ??\cf0                 theSqlCommand.CommandText = theQueryString;\par ??                \cf2 try\par ??\cf0                 \{\par ??                    \cf11 // Open theSqlConnection.\par ??\cf0                     theSqlConnection.Open();\par ??\par ??                    \cf11 // Declare variable named theSqlDataReader of type SqlDataReader\par ??\cf0                     \cf11 //  calling theSqlCommand object's ExecuteReader method\par ??\cf0                     \cf11 //  and assigning the resulting cursor to theSqlDataReader varaiable.\par ??\cf0                     \cf10 SqlDataReader\cf0  theSqlDataReader = theSqlCommand.ExecuteReader();\par ??\par ??                    \cf11 // Call theSqlDataReader object's Read method until then end\par ??\cf0                     \cf11 //  of the cursor is reached.\par ??\cf0                     \cf2 while\cf0  (theSqlDataReader.Read())\par ??                    \{\par ??                        \cf11 // Append a formatted string containing column 0 and column 1 of the row read\par ??\cf0                         \cf11 //  to the ResultsRichTextBox.\par ??\cf0                         \cf2 this\cf0 .resultsRichTextBox.AppendText(\cf2 string\cf0 .Format(\cf13 "\{0\}"\cf0  + \cf13 "\\t"\cf0  + \cf13 "\{1\}"\cf0 , theSqlDataReader[0], theSqlDataReader[1]) + \cf13 "\\r"\cf0 );\par ??                    \}\par ??\par ??                    \cf11 // Close theSqlDataReader\par ??\cf0                     theSqlDataReader.Close();\par ??                \}\par ??                \cf2 catch\cf0  (\cf10 Exception\cf0  ex)\par ??                \{\par ??                    \cf10 Console\cf0 .WriteLine(ex.Message);\par ??                \}\par ??            \}}
--&gt;
&lt;DIV style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&lt;SPAN style="COLOR: green"&gt;&amp;nbsp;// Declare variable named theConnectionString of type String;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; Assign a connection string to theConnectionString variable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;// NOTE: To run this yourself replace the connection string with a connection string to a&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; SQL Server with the Northwind database installed that you have permission to access.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; theConnectionString = &lt;SPAN style="COLOR: maroon"&gt;"Data Source=az-4ffd1ee68bce;Initial Catalog=Northwind;Integrated Security=True"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;// Declare a variable named theQueryString of type String;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; Assign a string containing a SQL SELECT command to theQueryString variable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; theQueryString = &lt;SPAN style="COLOR: maroon"&gt;"SELECT CategoryID, CategoryName FROM dbo.Categories;"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;// The C# 'Using' keyword simplifies the use of Dispose methods by&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; automatically calling dispose for an object.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;// The keyword is used here to create a SqlConnection object.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; (&lt;SPAN style="COLOR: teal"&gt;SqlConnection&lt;/SPAN&gt; theSqlConnection = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;SqlConnection&lt;/SPAN&gt;(theConnectionString))&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Declare variable named theSqlCommand of type SqlCommand&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; calling theSqlConnection object's CreateCommand method&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; and assigning the resulting SqlCommand object to theSqlCommand variable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;SqlCommand&lt;/SPAN&gt; theSqlCommand = theSqlConnection.CreateCommand();&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Assign theQueryString to theSqlCommand's CommandText property.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; theSqlCommand.CommandText = theQueryString;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;try&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Open theSqlConnection.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; theSqlConnection.Open();&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Declare variable named theSqlDataReader of type SqlDataReader&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; calling theSqlCommand object's ExecuteReader method&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; and assigning the resulting cursor to theSqlDataReader varaiable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;SqlDataReader&lt;/SPAN&gt; theSqlDataReader = theSqlCommand.ExecuteReader();&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Call theSqlDataReader object's Read method until then end&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; of the cursor is reached.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;while&lt;/SPAN&gt; (theSqlDataReader.Read())&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Append a formatted string containing column 0 and column 1 of the row read&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//&amp;nbsp; to the ResultsRichTextBox.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.resultsRichTextBox.AppendText(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}"&lt;/SPAN&gt; + &lt;SPAN style="COLOR: maroon"&gt;"\t"&lt;/SPAN&gt; + &lt;SPAN style="COLOR: maroon"&gt;"{1}"&lt;/SPAN&gt;, theSqlDataReader[0], theSqlDataReader[1]) + &lt;SPAN style="COLOR: maroon"&gt;"\r"&lt;/SPAN&gt;);&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Close theSqlDataReader&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; theSqlDataReader.Close();&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;catch&lt;/SPAN&gt; (&lt;SPAN style="COLOR: teal"&gt;Exception&lt;/SPAN&gt; ex)&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;Console&lt;/SPAN&gt;.WriteLine(ex.Message);&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="FONT-SIZE: 8pt; MARGIN: 0px"&gt;&amp;nbsp;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;!--EndFragment--&gt;&lt;!--EndFragment--&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT size=2&gt;For more information:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx"&gt;SqlConnection Class&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx"&gt;SqlCommand Class&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=2&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx"&gt;SqlDataReader Class&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;mike mcintyre &lt;A href="http://www.getdotnetcode.com/"&gt;http://www.getdotnetcode.com&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/8181.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Microsoft AJAX Series Part 6 - PageRequestManager</title><link>http://blogs.vbcity.com/mcintyre/archive/2006/12/13/7578.aspx</link><pubDate>Wed, 13 Dec 2006 15:13:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2006/12/13/7578.aspx</guid><description>&lt;FONT size=1&gt;Source Code: &lt;/FONT&gt;&lt;A href="http://www.getdotnetcode.com/nexDotNet/020016AjaxBeta2SeriesPart6/AjaxBeta2SeriesPart6.htm"&gt;&lt;FONT size=1&gt;Microsoft AJAX Series Part 6 - PageRequestManager&lt;/FONT&gt;&lt;/A&gt; 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Microsoft AJAX Series Part 6 - PageRequestManager&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is the sixth in a series of blog posts about Microsoft ASP.NET AJAX, a new web development technology from Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Click these links to view previous posts in this series: &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/07/6768.aspx"&gt;Post 1&lt;/A&gt;, &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/10/6848.aspx"&gt;Post 2&lt;/A&gt;, &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/20/6963.aspx"&gt;Post 3&lt;/A&gt;, &lt;A href="http://getdotnetco.web119.discountasp.net/GdncStore/Resources/DotNet/AspNet/AJAXSeriesPart4NestUpdatePanelsGridViews/AJAXSeriesPart4NestUpdatePanelsGridViews.htm"&gt;Post 4&lt;/A&gt; and &lt;A href="http://getdotnetco.web119.discountasp.net/GdncStore/Resources/DotNet/AspNet/AJAXSeriesPart5CallWebServiceWithJavaScript/AJAXSeriesPart5CallWebServiceWithJavaScript.htm"&gt;Post 5&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV __designer:dtid="281474976710663"&gt;
&lt;H1&gt;&lt;SPAN style="FONT-WEIGHT: 400"&gt;&lt;FONT face=Verdana size=2&gt;This article introduces the Microsoft Ajax PageRequestManager object and demonstrates how to handle its pageLoaded event to it trigger an animation when a page is updated after an asynchronous post back.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;H1&gt;&lt;FONT face=Verdana size=3&gt;PageRequestManager Overview&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The PageRequestManager class in the Microsoft AJAX Library manages partial-page rendering &lt;B&gt;on the client&lt;/B&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;When you have a ScriptManager and one or more UpdatePanel controls on the page, the page is automatically enabled for partial-page rendering. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The PageRequestManager exposes properties, methods, and events that allow you to customize the partial-page rendering experience with client script.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 class=subsectionTitle&gt;&lt;FONT face=Verdana size=2&gt;&lt;A name=Scenarios&gt;Scenarios&lt;/A&gt; &lt;/FONT&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Provide custom error message handling for partial-page rendering.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Control multiple asynchronous postbacks.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Display status messages during asynchronous postbacks.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Access the underlying request and response objects used in an asynchronous postback.&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;H2 class=subsectionTitle&gt;&lt;FONT face=Verdana size=2&gt;Partial-Page Rendering Event Handling&lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;During page processing (both postbacks and asynchronous postbacks), you can handle DOM events to run custom script.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;However, these DOM events do not enable you to access information or control the behavior during asynchronous postbacks and during partial-page updates that occur between the load and unload of the page in the browser. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The PageRequestManager class exposes the following events that enable you to customize partial-page rendering:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;initializeRequest &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;beginRequest &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;pageLoading &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;pageLoaded &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;endRequest &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;About the Source Code&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code implements an ASP.NET 2.0 web application that shows how you can use the pageLoaded event of the PageRequestManager class to animate an UpdatePanel control when the page is updated after an asynchronous postback.&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;IMG height=270 src="http://getdotnetco.web119.discountasp.net/nexDotNet/020016AjaxBeta2SeriesPart6/06%20Mic1.jpg" width=467 border=0&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;In this web page shown above, users can select a date and enter an email address into a simple form to make a ticket request. When certain elements postback from the page ( (1) above), the panel is animated briefly to notify the user that the date value was entered into the text box. The page contains a popup that displays a Calendar control. The calendar is displayed or hidden using the control's Visible property. Hiding, showing, or selecting dates in the calendar does not cause the entire page to be refreshed, because the Calendar control is inside an UpdatePanel control.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code included with this post (see download link above) includes additional comments about the example.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code was created with ASP.NET AJAX 1.0 Beta 2.&amp;nbsp; For more information and FREE Microsoft ASP.NET Ajax installers visit -&amp;gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.NET AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;mike mcintyre&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.getdotnetcode.com&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/7578.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Microsoft ASP.NET AJAX the Series Part 5 - Call Web Service With JavaScript</title><link>http://blogs.vbcity.com/mcintyre/archive/2006/12/05/7262.aspx</link><pubDate>Tue, 05 Dec 2006 20:15:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2006/12/05/7262.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Source Code:&amp;nbsp;&lt;FONT size=2&gt;&lt;FONT face="Times New Roman"&gt; &lt;/FONT&gt;&lt;A href="http://getdotnetco.web119.discountasp.net/GdncStore/Resources/DotNet/AspNet/AJAXSeriesPart5CallWebServiceWithJavaScript/AJAXSeriesPart5CallWebServiceWithJavaScript.htm"&gt;&lt;FONT face=Verdana&gt;&lt;FONT color=#000000 size=1&gt;Microsoft ASP.NET AJAX the Series Part 5 - Call Web Service With JavaScript&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is the fifth in a series of blog posts about Microsoft ASP.NET AJAX, a new web development technology from Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Click these links to view previous posts in this series: &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/07/6768.aspx"&gt;Post 1&lt;/A&gt;, &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/10/6848.aspx"&gt;Post 2&lt;/A&gt;, &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/20/6963.aspx"&gt;Post 3&lt;/A&gt;, and &lt;A href="http://getdotnetco.web119.discountasp.net/GdncStore/Resources/DotNet/AspNet/AJAXSeriesPart4NestUpdatePanelsGridViews/AJAXSeriesPart4NestUpdatePanelsGridViews.htm"&gt;Post 4&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV __designer:dtid="281474976710663"&gt;
&lt;H1&gt;&lt;SPAN style="FONT-WEIGHT: 400"&gt;&lt;FONT face=Verdana size=2&gt;This&amp;nbsp;post introduces the Microsoft Ajax asynchronous communication layer and demonstrates how to use it to call a web service, from a client, using JavaScript.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;H1&gt;&lt;FONT face=Verdana size=2&gt;Asynchronous Communication Layer&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The &lt;/FONT&gt;&lt;SPAN style="FONT-WEIGHT: 400"&gt;&lt;FONT face=Verdana size=2&gt;asynchronous communication layer is the&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana size=2&gt; foundation for very responsive client Web application presentation. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The layer enables more separation between the business and data tiers on the server and the presentation tier on the client. It makes it easier to do more processing client side. In this context, the browser has full control of the presentation tier and provides a rich and responsive user interface, while the server performs the business and data tier tasks.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The layer exposes functionality for browser asynchronous behavior provided by the &lt;SPAN class=keyword&gt;XMLHTTP&lt;/SPAN&gt; object as a set of APIs that JavaScript functions can use from any browser to call Web service methods on the server. The XMLHTTP object enables the browser to send asynchronous HTTP requests and return data that can be processed in client script.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 class=subsectionTitle&gt;&lt;A name=Features&gt;&lt;FONT face=Verdana size=2&gt;What can you do through the asynchronous communication layer?&lt;/FONT&gt;&lt;/A&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=2&gt;Asynchronous postbacks and partial-page rendering&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=2&gt;Invoke methods in Web services implemented as .asmx files&lt;/FONT&gt; &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=2&gt;Invoke specifically enabled ASP.NET page methods&lt;/FONT&gt; &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=2&gt;Supports a variety of serialization formats for passing data between the browser and the server&lt;/FONT&gt; &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=2&gt;Optimize Web service interactions by pre-loading and caching JavaScript proxies used to communicate with the Web services on a server&lt;/FONT&gt; &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;About the Source Code&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code includes a Web service whose proxy class is used by the browser and an ASP.NET Web page containing client script that calls a page method and a&amp;nbsp;web service. Here is a screen shot of the web page:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://getdotnetco.web119.discountasp.net/GdncStore/Resources/DotNet/AspNet/AJAXSeriesPart5CallWebServiceWithJavaScript/AJAXSe2.jpg" border=0&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code included with this post (see download link above) demonstrates how to call a web service with JavaScript. Additional comments about the process are included in the example page and source code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code was created with ASP.NET AJAX 1.0 Beta 2 which is available at -&amp;gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.NET AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The next post in this series will explore the Microsoft Ajax Page Manager object.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For more information and FREE Microsoft ASP.NET Ajax installers visit -&amp;gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.NET AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;mike mcintyre&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.getdotnetcode.com"&gt;http://www.getdotnetcode.com&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/7262.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Microsoft ASP.Net AJAX the Series Post 3 - Nested UpdatePanels</title><link>http://blogs.vbcity.com/mcintyre/archive/2006/11/20/6963.aspx</link><pubDate>Mon, 20 Nov 2006 08:56:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2006/11/20/6963.aspx</guid><description>&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=1&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=1&gt;VB Source Code:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.az-soft-dev.com/dnr/Forms/DotNetResourceFormV1.aspx?id=EAE4F76F-720A-42B5-BBE2-6F4AA5AC3FE3"&gt;AJAXBeta2UpdatePanelNested_VB.zip&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=1&gt;C# Source Code:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.az-soft-dev.com/dnr/Forms/DotNetResourceFormV1.aspx?id=F9BCA18B-7816-4D6D-A30A-A46DDA698250"&gt;AJAXBeta2UpdatePanelNested_CS.zip&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is the third in a series of blog posts about Microsoft ASP.Net AJAX, a new web development technology from Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/07/6768.aspx"&gt;first&lt;/A&gt; and &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/10/6848.aspx"&gt;second&lt;/A&gt; post in this series introduced Ajax technologies and Microsoft AJAX, and, in a 'Hello World' example, introduced the UpdatePanel server control.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;Nest UpdatePanel Controls&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;UpdatePanel controls can be nested. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Nesting an UpdatePanel within another UpdatePanel gives a finer level of control over partial page rendering.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;If a parent UpdatePanel is refreshed, all nested UpdatePanels are also refreshed as well. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;If a nested UpdatePanel is refreshed its parent UpdatePanel is by default, not refreshed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code included with this post (see download links above) demonstrates how to implement partial page rendering with the ASP.NET 2.0 ScriptManager and an UpdatePanel containing a nested UpdatePanel control. Additional comments about these controls is included in the example page and source code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code was created with ASP.NET AJAX 1.0 Beta 2 which is available at -&amp;gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.Net AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The next post in this series will delve more deeply into partial page rendering with the UpdatePanel control.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For more information and FREE Microsoft ASP.NET Ajax installers visit -&amp;gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.Net AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;mike mcintyre&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.getdotnetcode.com&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/6963.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Microsoft ASP.Net AJAX the Series Post 2 - What is Microsoft's ASP.NET AJAX?</title><link>http://blogs.vbcity.com/mcintyre/archive/2006/11/10/6848.aspx</link><pubDate>Fri, 10 Nov 2006 09:01:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2006/11/10/6848.aspx</guid><description>&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=1&gt;VB Source Code: &lt;A id=ctl00_BodyRowOneUserControl_ctl01_GridView2_ctl03_HyperLink1 style="DISPLAY: inline-block" href="http://www.az-soft-dev.com/dnr/Forms/DotNetResourceFormV1.aspx?id=E2C503A5-721B-4CB5-9ABE-077E2ADD3F65" target=_blank&gt;Hello World ASP.NET AJAX Beta 2 - Visual Basic 2005&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT face=Verdana size=1&gt;C# Source Code: &lt;A id=ctl00_BodyRowOneUserControl_ctl01_GridView2_ctl11_HyperLink1 style="DISPLAY: inline-block" href="http://www.az-soft-dev.com/dnr/Forms/DotNetResourceFormV1.aspx?id=4F02C1A7-2248-49C7-9E61-72B77ABD224E" target=_blank&gt;Hello World ASP.NET AJAX Beta 2 - C# 2.0&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is the second in a series of blog posts about Microsoft ASP.Net AJAX, a new web development technology from Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The previous &lt;A href="http://blogs.vbcity.com/mcintyre/archive/2006/11/07/6768.aspx"&gt;post&lt;/A&gt; in this series provided a definition of Ajax: A term used to refer to a group of technologies used, in various combinations, to create web applications that are more interactive and responsive, and which provide a richer client-side experience, than what is found in classic web applications. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;What is Microsoft's ASP.NET AJAX?&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Web applications built with Ajax technologies can be referred to as &lt;B&gt;Ajax-style applications&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;ASP.NET AJAX is a &lt;B&gt;development&lt;/B&gt; &lt;B&gt;framework&lt;/B&gt; for developing &lt;B&gt;Ajax-style applications.  &lt;/B&gt;Its main purpose is to&lt;B&gt; &lt;/B&gt;simplify the development of Ajax-style applications. Until now, creating Ajax-style applications has been fairly complicated and time consuming. ASP.NET AJAX simplifies the development of Ajax-style applications through features such as:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;ASP.NET server controls that emit client-side JavaScript to reduce or eliminate the JavaScript you must write when you create an Ajax-style application;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;An asynchronous communication layer that abstracts away the complexity of adding asynchronous postbacks and partial page rendering to an Ajax-style application;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Beneficial integration between the client-side Microsoft AJAX JavaScript libraries and the ASP.NET 2.0 server-based development framework for example, by providing client-side integration with server-side ASP.NET 2.0 authentication and profiles services and ASP.NET 2.0 web services created by developers.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Browser independence: what you create with ASP.NET AJAX will work across all the major browsers without modification;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Client-side APIs and components to support rich UI features - such as drag-and-drop and auto-completion - to save you from having to write the extensive code normally required for such rich UI features in Ajax-style applications.&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;Add ASP.NET AJAX Functionality to a Web Page&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;To add AJAX functionality to an ASP.NET Web page: (1) add an ASP.NET AJAX &lt;B&gt;ScriptManager&lt;/B&gt; server control to the page; (2) identify individual sections of your page that you want to update; and (3) wrap each of the identified sections with an ASP.NET AJAX &lt;B&gt;UpdatePanel&lt;/B&gt; server control. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The ASP.NET 2.0 &lt;B&gt;ScriptManager&lt;/B&gt; control coordinates and tracks ASP.NET AJAX activity for an ASP.NET web page.  To enable ASP.NET AJAX activity on an ASP.NET page you must add a ScriptManager control to the page.  Note:  If you place a ScriptManager on a master page it coordinates and tracks ASP.NET AJAX activity for the children of that master page. You can not add a ScriptManager to a child of a master page that already contains a ScriptManager control.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The ASP.NET 2.0 &lt;B&gt;UpdatePanel&lt;/B&gt; control enables sections of a page to be partially rendered without a postback. You identify sections of the page you wish to participate in partial rendering and 'wrap' each such section with an UpdatePanel control. Note: The ScriptManager control keeps track of all the update panels on the page. It coordinates the partial-page rendering behavior on the server and instructs the page what sections of the page to render as a result of the last asynchronous postback.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;Hello ASP.NET AJAX&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code included with this post (see download links above) is a very simple 'Hello World' program created with ASP.NET AJAX. It demonstrates how to implement partial page rendering with the ASP.NET 2.0 &lt;B&gt;ScriptManager&lt;/B&gt; and &lt;B&gt;UpdatePanel&lt;/B&gt; controls. Additional comments about these controls is included in the example page and source code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The source code was created with ASP.NET AJAX 1.0 Beta 2 which is available at -&gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.Net AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The next post in this series will delve more deeply into partial page rendering.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For more information and FREE Microsoft ASP.NET Ajax installers visit -&gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.Net AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;mike mcintyre    http://www.getdotnetcode.com&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/6848.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Microsoft ASP.Net AJAX the Series - What is Ajax?</title><link>http://blogs.vbcity.com/mcintyre/archive/2006/11/07/6768.aspx</link><pubDate>Tue, 07 Nov 2006 06:40:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2006/11/07/6768.aspx</guid><description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is the first in a series of blog posts about ASP.Net AJAX, a new web development technology from Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;A series about ASP.Net AJAX must start by first answering the question: "What is Ajax?"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;&lt;B&gt;Ajax is a term used to refer to a group of technologies used, in various combinations, &lt;U&gt;to create web applications that are more interactive and responsive, and which provide a richer client-side experience&lt;/U&gt;, than what is found in classic web applications. &lt;/B&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;Ajax Technologies&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/XHTML"&gt;Extensible HyperText Markup Language&lt;/A&gt;&lt;/B&gt; (XHTML) &lt;BR&gt;&lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/Document_Object_Model"&gt;Document Object Model&lt;/A&gt;&lt;/B&gt; (DOM) &lt;BR&gt;&lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/CSS"&gt;Cascading Style Sheets&lt;/A&gt;&lt;/B&gt; (CSS) &lt;BR&gt;&lt;A href="http://en.wikipedia.org/wiki/Client-side_scripting"&gt;Client Side Scripting&lt;/A&gt; (most commonly with &lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/Javascript"&gt;JavaScript&lt;/A&gt;&lt;/B&gt;) &lt;BR&gt;&lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/XMLHttpRequest"&gt;XMLHttpRequest&lt;/A&gt;&lt;/B&gt; (XHR)&amp;nbsp; &lt;BR&gt;Data Transport Languages (most commonly used are &lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/XMLHttpRequest"&gt;XML&lt;/A&gt;&lt;/B&gt; and &lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/JSON"&gt;JSON&lt;/A&gt;&lt;/B&gt;) &lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For an explanation of an individual Ajax technology click the name of the technology above.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For Wikipedia's definition of Ajax click here -&amp;gt; &lt;A href="http://en.wikipedia.org/wiki/Ajax_(programming)"&gt;Ajax (programming) - Wikipedia, the free encyclopedia&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;To get a feel for the interactivity, performance, and richer client-side experience of Ajax web applications, visit the sites below.&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="file:///C:/Documents%20and%20Settings/Mike%20McIntyre/Desktop/nexGrid/Microsoft%20ASP%20Net%20Ajax/Presentation/atlaspresentationoutline_files/pageflakesvideo_3.html"&gt;&lt;FONT face=Verdana size=2&gt;Page Flakes&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Mash Up (combines content from more than one source into an integrated experience)&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Personalizable Web Desktop&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="file:///C:/Documents%20and%20Settings/Mike%20McIntyre/Desktop/nexGrid/Microsoft%20ASP%20Net%20Ajax/Presentation/atlaspresentationoutline_files/windowslive_4.html"&gt;&lt;FONT face=Verdana size=2&gt;Windows Live&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Mash Up&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Personalizable Web Desktop&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="file:///C:/Documents%20and%20Settings/Mike%20McIntyre/Desktop/nexGrid/Microsoft%20ASP%20Net%20Ajax/Presentation/atlaspresentationoutline_files/windowslivelocal_5.html"&gt;&lt;FONT face=Verdana size=2&gt;Windows Local&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Mash Up&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Personalizable Geo Information&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;All forthcoming posts in this series will include downloadable ASP.Net AJAX examples in Visual Studio 2005 solutions for both Visual Basic 2005 and C#.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The next post in this series will answer the question: "What is Microsoft ASP.Net AJAX?" and will introduce the ASP.NET AJAX v1.0 Beta UpdatePanel server control. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For more information and FREE Microsoft ASP.NET Ajax installers visit -&amp;gt; &lt;A href="http://ajax.asp.net/"&gt;The Official Microsoft ASP.Net AJAX Website&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;mike mcintyre&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.getdotnetcode.com&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/6768.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>New Graphics for Application Development in Visual Studio 2005</title><link>http://blogs.vbcity.com/mcintyre/archive/2005/10/23/5598.aspx</link><pubDate>Sun, 23 Oct 2005 18:12:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2005/10/23/5598.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana&gt;When you install Visual Studio 2005 be sure to unzip the new graphics collection at:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;C:\Programs\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary.zip&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Enjoy!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/5598.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Free Sql Server 2005 and Visual Studio 2005 eLearning Courses From Microsoft</title><link>http://blogs.vbcity.com/mcintyre/archive/2005/06/11/2541.aspx</link><pubDate>Sat, 11 Jun 2005 17:49:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2005/06/11/2541.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;And the free stuff keeps coming....&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;There are 17 FREE eLearning courses now available from&amp;nbsp;Microsoft Learning dedicated to preparing you for&amp;nbsp;Sql Server 2005&amp;nbsp;and&amp;nbsp;Visual Studio 2005&amp;nbsp;These eLearning courses and corresponding course descriptions can be found at:&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;A title=https://www.microsoftelearning.com/visualstudio2005/ href="https://www.microsoftelearning.com/visualstudio2005/"&gt;&lt;FONT face=Verdana size=2&gt;https://www.microsoftelearning.com/visualstudio2005/&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A title=https://www.microsoftelearning.com/sqlserver2005/ href="https://www.microsoftelearning.com/sqlserver2005/"&gt;&lt;FONT face=Verdana size=2&gt;https://www.microsoftelearning.com/sqlserver2005/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/2541.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>