<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-4162676360472707159</id><updated>2010-03-11T18:43:15.105-08:00</updated><title type='text'>YourDotNetSolution</title><subtitle type='html'>Technical bits for me and anyone else who wants to listen.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BMan</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-5985009718897804273</id><published>2010-01-25T14:38:00.000-08:00</published><updated>2010-01-25T14:46:54.202-08:00</updated><title type='text'>IE 6 adds anchor tags to request value</title><content type='html'>If you have a url parameters specified in your url like so:&lt;br /&gt;&lt;br /&gt;somepage.aspx?recordId=1&lt;br /&gt;&lt;br /&gt;And then add a anchor to it like so:&lt;br /&gt;&lt;br /&gt;somepage.aspx?recordId=1#middleofpage&lt;br /&gt;&lt;br /&gt;IE 6 will read recordId as 1#middleofpage instead of just 1. The way to fix this is to either add a &amp; symbol in from of the pound like so:&lt;br /&gt;&lt;br /&gt;somepage.aspx?recordid=1&amp;#middleofpage&lt;br /&gt;&lt;br /&gt;Or, do some regex match to remove the values from the # symbol on so that you end up with only the value you want. &lt;br /&gt;&lt;br /&gt;If your lucky, this is your only problem. However, I also have had the problem in IE 6 and 7 where a response.redirect will remove the anchor part completely. So a url like so:&lt;br /&gt;&lt;br /&gt;sompage.aspx?recordid=1#middleofpage&lt;br /&gt;&lt;br /&gt;Will be somepage.aspx?recordid=1 when it redirects in IE 6/7, even though the code I used was response.redirect("somepage.aspx?recordid=1#middleofpage"). Of course this works fine in all other browsers including IE 8. This happens randomly and I have not figured out a solution. My work around was to send the request to another page and do the redirect from there because adding the # symbol to my url worked fine there, because it's a different page of course:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-5985009718897804273?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/5985009718897804273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=5985009718897804273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5985009718897804273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5985009718897804273'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2010/01/ie-6-adds-anchor-tags-to-request-value.html' title='IE 6 adds anchor tags to request value'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-8679518059808626320</id><published>2008-12-26T11:55:00.000-08:00</published><updated>2008-12-26T11:56:11.429-08:00</updated><title type='text'>SQL Loop</title><content type='html'>declare @query varchar(100),@dbname sysnamedeclare @dblist table (dbname sysname)insert into @dblist(dbname) select name from sys.databaseswhere name not in ('master', 'model', 'msdb', 'tempdb')while (select count(*) from @dblist) &gt; 0beginselect top 1 @dbname = dbname from @dblistselect @query = 'dbcc checkdb(' + quotename(@dbname) + ')'exec(@query)delete from @dblist where dbname = @dbnameend&lt;br /&gt;go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-8679518059808626320?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/8679518059808626320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=8679518059808626320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/8679518059808626320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/8679518059808626320'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/12/sql-loop.html' title='SQL Loop'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-1828918570354827581</id><published>2008-12-02T05:24:00.000-08:00</published><updated>2008-12-02T05:30:08.933-08:00</updated><title type='text'>Search all fields in a table</title><content type='html'>CREATE PROCEDURE [dbo].[FindValue]    @TableName NVARCHAR(128), /* Must be a valid table or view name,                                 must not be quoted or contain a schema*/    @Value NVARCHAR(4000), /*May contain wildcards*/     @schema NVARCHAR(128) = 'dbo' /*May be left out*/ AS /* Sample Execution Exec FindValue     @TableName = 'spt_monitor',    @Value = '8',    @schema = 'dbo' */ /* If given a string it will finds all rows where any char, varchar, or  their Unicode equivalent which contain that string in the selected  table or view.  Note that this only works on objects which have entries  in information_schema.columns, which excludes certain system objects. If  given a numeric value it will check those text types for a match as well  as numeric types.  If given a possible date, it will also check date type.   The string that is being searched for may contain wildcard characters such as %.   This will NOT search text, ntext, xml, or user defined fields.  This may  return a row more than once if the search string is found in more than one  column in that row. */ /**************************** Declare Variables ***********************/ DECLARE @columns TABLE     (ColumnName NVARCHAR(128)) DECLARE @sql NVARCHAR(MAX) /************************** Populate Table Variable *****************/ /*Takes the names of string type columns for the selected table */ INSERT INTO @columns    (ColumnName) SELECT     Column_name  FROM     INFORMATION_SCHEMA.COLUMNS WHERE    Table_schema = @schema    AND Table_name = @TableName    AND data_type IN ('char', 'nchar', 'varchar', 'nvarchar')     /* If it is numeric, also check the numeric fields */ IF ISNUMERIC(@value) = 1    INSERT INTO @columns        (ColumnName)    SELECT         Column_name     FROM         INFORMATION_SCHEMA.COLUMNS    WHERE        Table_schema = @schema        AND Table_name = @TableName        AND data_type IN ('int', 'numeric', 'bigint', 'money',                             'smallint', 'smallmoney',                             'tinyint', 'float', 'decimal', 'real')                             IF ISDATE(@value) = 1    INSERT INTO @columns        (ColumnName)    SELECT         Column_name     FROM         INFORMATION_SCHEMA.COLUMNS    WHERE        Table_schema = @schema        AND Table_name = @TableName        AND data_type IN ('datetime', 'smalldatetime') /********************* Prepare dynamic SQL Statement to Execute **********/ SELECT     @sql =         CASE             WHEN @sql IS NULL                 THEN 'Select ''' + ColumnName                     + ''' as ContainingColumn, * From '                     + QUOTENAME(@Schema) + '.' + QUOTENAME(@TableName)                     + ' where ' + ColumnName + ' like ''' + @Value + ''' '              WHEN @sql IS NOT NULL                 THEN @sql + 'UNION ALL Select ''' + ColumnName                     + ''' as ContainingColumn, * From ' + QUOTENAME(@Schema)                     + '.' + QUOTENAME(@TableName)                     + ' where ' + ColumnName + ' like ''' + @Value + ''' '          END  FROM    @columns /******************* Execute Statement and display results ***********/ --print @sql /* This may be uncommented for testing purposes */ EXEC (@sql)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-1828918570354827581?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/1828918570354827581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=1828918570354827581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/1828918570354827581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/1828918570354827581'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/12/search-all-fields-in-table.html' title='Search all fields in a table'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-5750204931219401231</id><published>2008-09-17T15:00:00.000-07:00</published><updated>2008-09-18T11:15:27.042-07:00</updated><title type='text'>Report server report viewer 404 - File or directory not found</title><content type='html'>With SQL Server 2008 and IIS7, you may run into this error like I did. The fix for me was to do the following:&lt;br /&gt;&lt;br /&gt;Under IIS area, double-click on Handler Mappings icon. At the Action pane on your right, click on Add Managed Handler. At the Add Managed Handler dialog, enter the following: Request path: Reserved.ReportViewerWebControl.axd Type: Microsoft.Reporting.WebForms.HttpHandler Name: Reserved-ReportViewerWebControl-axd Click OK. &lt;br /&gt;&lt;br /&gt;You may also need to add this to your web.config, although I think this is only for older versions of IIS:&lt;br /&gt;&lt;br /&gt;&amp;lt;add name=&amp;quot;Reserved-ReportViewerWebControl-axd&amp;quot; &lt;br /&gt;    path=&amp;quot;Reserved.ReportViewerWebControl.axd&amp;quot; verb=&amp;quot;*&amp;quot; &lt;br /&gt;    type=&amp;quot;Microsoft.Reporting.WebForms.HttpHandler&amp;quot; resourceType=&amp;quot;Unspecified&amp;quot;/&amp;gt; in &lt;br /&gt;    the &amp;lt;handlers&amp;gt; section.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-5750204931219401231?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/5750204931219401231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=5750204931219401231' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5750204931219401231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5750204931219401231'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/09/report-server-report-viewer-404-file-or.html' title='Report server report viewer 404 - File or directory not found'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-4143853333592418478</id><published>2008-07-18T06:16:00.000-07:00</published><updated>2008-07-18T06:23:02.218-07:00</updated><title type='text'>How to pass windows authentication when serving a report with Report Viewer from Reporting Services</title><content type='html'>First create the following class:&lt;br /&gt;&lt;br /&gt;[Serializable]&lt;br /&gt;public sealed class ReportServerNetworkCredentials : IReportServerCredentials&lt;br /&gt;{&lt;br /&gt;    #region IReportServerCredentials Members&lt;br /&gt;&lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// Provides forms authentication to be used to connect to the report server.&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    /// &lt;param name="authCookie"&gt;A Report Server authentication cookie.&lt;/param&gt;&lt;br /&gt;    /// &lt;param name="userName"&gt;The name of the user.&lt;/param&gt;&lt;br /&gt;    /// &lt;param name="password"&gt;The password of the user.&lt;/param&gt;&lt;br /&gt;    /// &lt;param name="authority"&gt;The authority to use when authenticating the user, such as a Microsoft Windows domain.&lt;/param&gt;&lt;br /&gt;    /// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;    public bool GetFormsCredentials(out System.Net.Cookie authCookie, out string userName,&lt;br /&gt;        out string password, out string authority)&lt;br /&gt;    {&lt;br /&gt;        authCookie = null;&lt;br /&gt;        userName = null;&lt;br /&gt;        password = null;&lt;br /&gt;        authority = null;&lt;br /&gt;&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// Specifies the user to impersonate when connecting to a report server.&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    /// &lt;value&gt;&lt;/value&gt;&lt;br /&gt;    /// &lt;returns&gt;A WindowsIdentity object representing the user to impersonate.&lt;/returns&gt;&lt;br /&gt;    public WindowsIdentity ImpersonationUser&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            return null;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// Returns network credentials to be used for authentication with the report server.&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    /// &lt;value&gt;&lt;/value&gt;&lt;br /&gt;    /// &lt;returns&gt;A NetworkCredentials object.&lt;/returns&gt;&lt;br /&gt;    public System.Net.ICredentials NetworkCredentials&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            string userName = "username";&lt;br /&gt;            string domainName = "domain or computer";&lt;br /&gt;            string password = "password";&lt;br /&gt;&lt;br /&gt;            return new System.Net.NetworkCredential(userName, password, domainName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    #endregion&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Then in the code behind of the page with the report viewer, do the following on page load:&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;         myReportViewer.ServerReport.ReportServerCredentials = new ReportServerNetworkCredentials();&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Some notes about this. When working locally, I could get the report view to display without prompting me for a password (the authentication worked), but the data wouldn'd display. I'm not sure if this is a Vista issue or what, but when I publised it to the server, everything worked fine. Well, everything worked fine after I download the Microsoft Report Viewer Redistributable 2008 from mirosoft and installed it. You can download it here: http://www.microsoft.com/downloads/details.aspx?FamilyID=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&amp;displaylang=en. This is necessary because the .net Report View control is part of VS 2008, so not included on the server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-4143853333592418478?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/4143853333592418478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=4143853333592418478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4143853333592418478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4143853333592418478'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/07/how-to-pass-windows-authentication-when.html' title='How to pass windows authentication when serving a report with Report Viewer from Reporting Services'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-3511328391934912872</id><published>2008-07-18T06:12:00.000-07:00</published><updated>2008-07-18T06:16:33.172-07:00</updated><title type='text'>How to enable Asp.NET security tables for a database.</title><content type='html'>You can run Aspnet_regsql.exe without any command-line arguments to run a wizard that will walk you through specifying connection information for your SQL Server database and installing or removing the database elements for supported features. You can also run Aspnet_regsql.exe as a command-line tool to specify database elements for individual features to add or remove. To specify SQL cache dependency settings or set up session state, you must use the command-line tool.&lt;br /&gt;&lt;br /&gt;To run the wizard, run Aspnet_regsql.exe without any command-line arguments, as shown in the following example.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C:\%windir%\Microsoft.NET\Framework\[versionNumber]\aspnet_regsql.exe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-3511328391934912872?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/3511328391934912872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=3511328391934912872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/3511328391934912872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/3511328391934912872'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/07/how-to-enable-aspnet-security-tables.html' title='How to enable Asp.NET security tables for a database.'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-9073049699639030052</id><published>2008-06-12T12:19:00.000-07:00</published><updated>2008-06-12T12:20:04.910-07:00</updated><title type='text'>How to query a list in sharepoint</title><content type='html'>SELECT      dbo.UserData.tp_ID,&lt;br /&gt;  dbo.UserData.tp_ListId,&lt;br /&gt;  dbo.UserData.tp_Author,&lt;br /&gt;  dbo.UserData.nvarchar1,&lt;br /&gt;                dbo.UserData.nvarchar2,&lt;br /&gt;  dbo.UserData.nvarchar3,&lt;br /&gt;  dbo.UserData.nvarchar4,&lt;br /&gt;  dbo.UserData.nvarchar5,&lt;br /&gt;                dbo.UserData.nvarchar6,&lt;br /&gt;  dbo.UserData.nvarchar7,&lt;br /&gt;  dbo.UserData.nvarchar8,&lt;br /&gt;  dbo.UserData.nvarchar9 ,&lt;br /&gt;                dbo.UserData.nvarchar10,&lt;br /&gt;  dbo.UserData.nvarchar11,&lt;br /&gt;  dbo.UserData.nvarchar12,&lt;br /&gt;  dbo.UserData.*                  –dont forget to modify this to snatch only the columns you need&lt;br /&gt;FROM            dbo.Lists&lt;br /&gt;INNER JOIN&lt;br /&gt;                dbo.UserData ON dbo.Lists.tp_ID = dbo.UserData.tp_ListId&lt;br /&gt;WHERE    &lt;br /&gt;(dbo.UserData.tp_ListId = ‘{B44327F5-95E9-4504-A3BF-1E6751C452D6}’) &lt;br /&gt;&lt;br /&gt;–optional WHERE clause, this pulls data for ONE list&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-9073049699639030052?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/9073049699639030052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=9073049699639030052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/9073049699639030052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/9073049699639030052'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/06/how-to-query-list-in-sharepoint.html' title='How to query a list in sharepoint'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-5726459400595818380</id><published>2008-05-21T13:04:00.000-07:00</published><updated>2008-05-21T13:25:50.651-07:00</updated><title type='text'>How to disable or enable all foreign key constraints in Oracle</title><content type='html'>--this will disable all foreign key constraints&lt;br /&gt;begin&lt;br /&gt;for i in (select constraint_name, table_name from user_constraints where constraint_type ='R'&lt;br /&gt;and status = 'ENABLED') LOOP&lt;br /&gt;execute immediate 'alter table '||i.table_name||' disable constraint '||i.constraint_name||'';&lt;br /&gt;end loop;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;--this will enable them again&lt;br /&gt;begin&lt;br /&gt;for i in (select constraint_name, table_name from user_constraints where constraint_type ='R'&lt;br /&gt;and status = 'DISABLED') LOOP&lt;br /&gt;execute immediate 'alter table '||i.table_name||' enable constraint '||i.constraint_name||'';&lt;br /&gt;end loop;&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-5726459400595818380?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/5726459400595818380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=5726459400595818380' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5726459400595818380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5726459400595818380'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/05/how-to-disable-or-enable-all-foreign.html' title='How to disable or enable all foreign key constraints in Oracle'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-4587374296729424435</id><published>2008-04-29T13:33:00.000-07:00</published><updated>2008-04-29T13:41:53.882-07:00</updated><title type='text'>How to Export and Import MySQL database</title><content type='html'>First, to export the database use the following command after navigating in command prompt to your mysql bin directory:&lt;br /&gt;&lt;br /&gt;mysqldump -u username -ppassword database_name &gt; FILE.sql&lt;br /&gt;&lt;br /&gt;Then use this command to import the data:&lt;br /&gt;&lt;br /&gt;mysql -u username -ppassword database_name &lt; FILE.sql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you don't like command prompt, you can use Heidi SQL that allows you to do it via an easy to use interface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-4587374296729424435?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/4587374296729424435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=4587374296729424435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4587374296729424435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4587374296729424435'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/04/how-to-export-and-import-mysql-database.html' title='How to Export and Import MySQL database'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-1527257238726530733</id><published>2008-04-22T07:04:00.000-07:00</published><updated>2008-04-22T07:06:02.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><title type='text'>How to retrieve a list of column names for a specific table in MS SQL Server.</title><content type='html'>One way:&lt;br /&gt;&lt;br /&gt;sp_columns 'table name'&lt;br /&gt;&lt;br /&gt;Another way:&lt;br /&gt;&lt;br /&gt;SELECT * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'MyTable'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-1527257238726530733?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/1527257238726530733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=1527257238726530733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/1527257238726530733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/1527257238726530733'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/04/how-to-retrieve-list-of-column-names.html' title='How to retrieve a list of column names for a specific table in MS SQL Server.'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-7577412780310015060</id><published>2008-03-24T06:57:00.000-07:00</published><updated>2008-03-24T07:03:48.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Asp.NET Web Development Process</title><content type='html'>&lt;font size="3"&gt;&lt;br style="font-family: Verdana;"&gt;&lt;/font&gt;&lt;h3 style="font-family: Verdana;" class="heading-1-no-toc-western"&gt;&lt;font size="3"&gt;Asp.NET Web Development Process&lt;/font&gt;&lt;/h3&gt;&lt;font size="3"&gt;&lt;span style="font-family: Verdana;"&gt;This document helps define a development process for the entire project life cycle. &lt;/span&gt;&lt;br style="font-family: Verdana;"&gt;&lt;br style="font-family: Verdana;"&gt;&lt;/font&gt;&lt;ol style="font-family: Verdana;"&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Requirements Gathering&lt;br&gt;&lt;br&gt;A 	“requirement” is simply a statement of what the business 	needs to accomplish. At a high level, the business case or 	justification for the project should be defined as a requirement(s). 	Then by analysis of this high level requirement(s), additional 	requirements will flow at an increasing level of detail. &lt;br&gt;&lt;br&gt;The 	requirements gathering process results in a living document that 	will continue to change and grow throughout the project life cycle. 	Requirements will continue to be refined in the analysis phase. 	&lt;br&gt;&lt;br&gt;Here are some guidelines for requirements gathering:&lt;/font&gt;&lt;/h1&gt; 	&lt;ol&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;The requirement must be from the business 		perspective. Every requirement should be clear from the client’s 		perspective and be relevant to their business needs. This is the 		time to focus on the business side of things. Keep the technical 		“how” out of the discussion until all the business 		requirements are clearly defined. This will keep the project 		focused on what the business needs.  		&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Come prepared to the first requirements 		gathering meeting with the start of a requirements document. You 		should have enough in the requirements document, even if it’s 		100% assumptions, to help facilitate the gathering process by 		engaging the client. Even making the wrong assumptions about things 		are helpful as it will help facilitate feedback and get the client 		thinking about their needs.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;While technical implementation details do 		not belong in this document, your perspective on the requirements 		will help you ask the “right” questions. You should use 		your experience to facilitate the client thinking about the “right” 		things, and to help uncover business requirements the client would 		not normally think about. For example; validation and data rules, 		data security, web site security, privacy, integration with other 		systems, reporting, exporting, etc are all business requirements.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Follow leads based on the clients’ 		responses and continue to push until you get concrete answers. The 		wording should be definite with terms like "must", 		"will", or "shall".  Avoid terms that leave 		options open like "could" or "may".  If 		concrete answers cannot be determined for a given requirement, flag 		them and then use the Analysis phase to dig deeper until you get to 		the bottom of it.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Get customer approvals of all requirements. 		You will want to fill in blanks on behalf of the business, but if 		you do, make sure you always get customer approval for your 		assumptions.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;The requirement should be testable. Ask 		yourself how you would generally go about testing a requirement.  		Since the system isn't built, you have to make assumptions about 		user interface and the like.  At a very high level, get the test 		plan outlined with a short statement on how each requirement should 		be tested.  If you find it difficult to come up with a test or a 		description of how a test should work, evaluate the requirement to 		see if it should be better written, is too costly to implement, or 		isn't practical.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Estimating – Use the following 		formulas for calculating ranges for estimating based on your 		requirements.&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Order of Magnitude (Done during 			Initiating) - 25% to +75%&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt; Budget Estimate (Done during Planning) 			-10% to +25%&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt; Definitive Estimate (Done during 			Planning) - 5% to +10%&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Analysis&lt;br&gt;&lt;br&gt;Analysis is the process of 	refining requirements and defining the processes for the solution. 	Analysis is still business centric (meaning it’s from the 	business perspective and makes sense to the client), but the 	objective is more technical. At the end of the Analysis Phase, you 	should have enough details about each requirement to “Design” 	the solution.  	&lt;/font&gt;&lt;/h1&gt; 	&lt;ol&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Analysis normally takes the form of Use 		Cases, but can also include:&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Demo’s&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Wire-frames&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Prototypes&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;A Use Case is a narrative form of a process 		that is needed to meet each requirement.  See Appendix A for a 		template.&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Identify actors.  An actor is a user of 			the system or other system that interacts with this one.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Build Use Cases for each concrete 			requirement.  			&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Associate Use Cases with an Actor and make 			sure the Use Case is from the Actor’s perspective.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Define how data will be collected and 			used.&lt;/font&gt;&lt;/h1&gt; 			&lt;ol&gt; 				&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Will they need to report on this data?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Will 3&lt;sup&gt;rd&lt;/sup&gt; party systems need to 				use it?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Is there a need to export this data? To 				what formats?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;What validation rules should be required?&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;/ol&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Define where data will come from that is 			required by the Use Case.&lt;/font&gt;&lt;/h1&gt; 			&lt;ol&gt; 				&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Will someone be entering the data?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Is the data static, or something that 				needs to change regularly?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Is the data coming from a 3&lt;sup&gt;rd&lt;/sup&gt; 				party system?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Is the data dependent on a previous 				process being completed in this solution?&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use Cases should be complete and approved 				by the client before entering the “Design” phase.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Design&lt;br&gt;&lt;br&gt;Design is the process of 	taking solidified Use Cases (and related Requirements), and 	translating them into a Solution Design. This Solution Design should 	clearly communicate to a developer how the solution should be 	written. A Solution Design should contain:&lt;/font&gt;&lt;/h1&gt; 	&lt;ol&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Static Structure – This UML diagram 		will define all objects in the solution. In lieu of a diagram, the 		Business Layer can be used to build these object directly, as long 		as they are documented as to which use case and requirements they 		are designed to meet.  Use Case nouns are potential objects 		(business and data access objects), and verbs potential operations.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Sequence Diagrams – These UML 		diagrams should map to a specific Use Case and show how the objects 		identified in the Static Structure for this Use Case will be used 		to accomplish the intended outcome.  		&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Prototypes and wire-frames – This 		should define how the UI should look and function.  		&lt;/font&gt;&lt;/h1&gt; 	&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Construction&lt;br&gt;&lt;br&gt;Construction is the 	process of taking the culmination of knowledge from the Analysis and 	Design phases to produce code for the solution. While construction 	doesn’t require that all of the Analysis and Design be 	completed for the entire solution before any code is written, it 	does require that:&lt;/font&gt;&lt;/h1&gt; 	&lt;ol&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;All major components of the solution are 		defined at a high level.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Dependencies and communication requirements 		between these components are identified.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Requirements and Design artifacts are 		completed and approved (if necessary) for the component being 		developed.&lt;/font&gt;&lt;/h1&gt; 	&lt;/li&gt;&lt;/ol&gt; &lt;/li&gt;&lt;/ol&gt; &lt;h1 class="western" style="margin-left: 0.25in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Construction standards are strictly followed during the construction phase of the project. While these standards are not the only way to do things, it is necessary to adopt one way for consistency and interoperability during the construction and integration of a solution. Here is a list of these standards:&lt;/font&gt;&lt;/h1&gt; &lt;ol style="font-family: Verdana;"&gt; 	&lt;ol start="4"&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Camel Casing&lt;br&gt;&lt;br&gt;Camel casing occurs 		when all words of an identifier are capitalized, except for the 		first word.  The identifiers firstName, productId, and email are 		all examples of using camel casing.&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use camel casing for private type fields, 			parameters, and local variables.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Pascal Casing&lt;br&gt;&lt;br&gt;Pascal casing occurs 		when the first letter of every word in an identifier is 		capitalized.  ProductName, CompanyName, and Email are examples of 		PascalCasing.&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use Pascal casing everywhere except for 			when you use camel casing. For example, property names, 			operations, and tables.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Field, Local Variable, and Parameter 		Naming&lt;br&gt;&lt;br&gt;Fields are variables declared at the type level.  		Local variables are declared within methods, property accessors, 		and indexer accessors.  Parameters are part of the declaration of 		methods, indexers, and delegates and enable code to pass arguments.&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Prefix field names with "_".  			The identifiers _firstName, _companyId, and _email are proper 			field names.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Don't prefix Local variables and 			parameters.  The identifiers firstName, companyId, and 			primaryEmailAddress are valid local variables.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;UI Elements&lt;br&gt;&lt;br&gt;UI Elements should be 		explicitly named if it is referenced anywhere on the page or in the 		code-behind.&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;UI Elements should be prefixed to show 			what type of UI element it is: “lbl” for Label, “txt” 			for TextBox, etc.  			&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;They should have “friendly” 			names that are applicable to how that control is being used.  			&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Delegates and Events&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Event names can use the VS assigned 			convention, but be sure the parent control has been named 			appropriately before the event is created.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Name Delegates with a “Handler” 			Suffix.&lt;br&gt;&lt;br&gt;&lt;/font&gt; 			&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Software Development Methodology&lt;br&gt;&lt;br&gt;During 		the construction phase, a Software Development Methodology is used 		to improve overall quality of the solution, as well as enhance 		flexibility and maintenance over the lifecycle of the application. 		This methodology follows best practices of n-tier software design 		to separate out UI, Business and Data Access layers into separate 		manageable pieces of the application.  		&lt;/font&gt;&lt;/h1&gt; 		&lt;ol&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;High Cohesion&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;/ol&gt; &lt;/ol&gt; &lt;h1 class="western" style="margin-left: 1.25in; font-family: Verdana;"&gt;&lt;font size="3"&gt;OO design is highly cohesive when the objects are singular in their purpose and their purpose is well thought out and maintained. &lt;br&gt;&lt;br&gt;This also means that at a smaller level, your methods should follow the same general rule. Methods should be as simple and concise as possible. It is better to have several smaller methods to carry out a specific operation, then to have one large method that is harder to read and therefore debug.&lt;/font&gt;&lt;/h1&gt; &lt;ol style="font-family: Verdana;"&gt; 	&lt;ol&gt; 		&lt;ol start="2"&gt; 			&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Loosely Coupled&lt;br&gt;&lt;br&gt;OO design is 			loosely coupled when the application, and it’s parts, are 			independent in their nature. Meaning, the application, one of it’s 			components, or a single object can be modified without have a 			ripple effect in the rest of the system, or to other systems&lt;br&gt;&lt;br&gt;The 			way this is accomplished is by designing for high cohesions at the 			system, component, object, and method level, and carefully 			handling the communication at each one of these levels to reduce 			the dependency at each.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Interfaces&lt;br&gt;&lt;br&gt;Interfaces should be 			used to provide all up-stream access between layers. Interfaces 			should also be considered when an object is shared among multiple 			Managers (UI processes) as an additional layer of abstraction.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;User Interface Layer&lt;br&gt;&lt;br&gt;User Interface 			Layer is the GUI of the application. For ASP.NET applications, 			this includes the ASPX and ASPX code-behind.  			&lt;/font&gt;&lt;/h1&gt; 			&lt;ol&gt; 				&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use .NET UI components – In all 				instances possible, .NET components should be utilized for the 				GUI.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use Object Data Sources – This 				provides design view readability into the BLL and DAL process 				without loosing encapsulation.  				&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use the code-behind – Avoid writing 				any embedded code with the UI. Instead, utilize the code-behind.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use Master Pages, Skins, and Themes – 				This will provide encapsulation of design from the actual ASPX 				pages. Doing this will provide consistency for the look and feel, 				as well as ease of managing changes to the design in the future.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use Cascading Style Sheets – CSS 				should be the primary layout means for overall UI control and 				design. Avoid using tables, inline styles and outdated formatting 				options (I.E. font tags).&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;/ol&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Business Layer&lt;br&gt;&lt;br&gt;The business layer 			contains object that encapsulate the domain of business logic for 			the application. &lt;br&gt;&lt;br&gt;This domain has two objectives: &lt;br&gt;&lt;br&gt;1. 			Abstract the UI from data access and business logic.&lt;br&gt;2. Provide 			communication between the UI and BLL/DAL.&lt;br&gt;&lt;br&gt;To accomplish the 			domain’s objectives, we’ve adopted the following 			standard objects:&lt;/font&gt;&lt;/h1&gt; 			&lt;ol&gt; 				&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Managers – Manager objects are used 				in the code-behind of the aspx page as well as in the DAL (see 				Data-Access Layer below). They provide single-point-access for 				all BLL (explicit) and DAL (implicit) functions the application 				needs to accomplish from the UIL.&lt;/font&gt;&lt;/h1&gt; 			&lt;/li&gt;&lt;/ol&gt; 			&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Data-Access Layer&lt;br&gt;&lt;br&gt;The data-access 			layer provides mechanisms for retrieving and populating data into 			BLL objects.  			&lt;/font&gt;&lt;/h1&gt; 			&lt;ol&gt; 				&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Gateways – Gateways are the primary 				data-access objects. They work in conjunction with a reference to 				a “Manager” to create business objects and populate 				them will data.  				&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;For BLL access use Interfaces – 				Because business objects are upstream from the DAL, all 				interaction with this layer should be handles through interfaces. 				Additionally, interaction with the BLL should be isolated to 				using “Managers”.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use parameters when creating your queries 				by using the SqlCommand object.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Populate BLL objects – In general, 				business objects should be used to populate with data. &lt;br&gt;&lt;br&gt;Here 				are some exceptions to this rule:&lt;/font&gt;&lt;/h1&gt; 				&lt;ol&gt; 					&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;You are doing a data-centric operation 					(requires no business logic). For example, binding search 					results to a data grid.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;You want to provide a generic data 					transport. For example, when using web services datasets can 					provide a very agnostic data transport mechanism. Datasets can 					also easily translate to XML.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;/ol&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Read – This would involve any 				“Select” type operation.&lt;/font&gt;&lt;/h1&gt; 				&lt;ol&gt; 					&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use Views – This will provide a 					layer of abstraction for the underlying table structure.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Utilize the “Managers” to 					create needed BLL objects and perform other business related 					functions.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Create methods specifically for 					populating BLL objects from data readers.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Only send in what is necessary from the 					BLL to retrieve the data. This typically means a primary key.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Return populated BLL objects to the 					“Manager”.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;/ol&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Create – This would include any 				“Insert” type operation.&lt;/font&gt;&lt;/h1&gt; 				&lt;ol&gt; 					&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Send in the BLL object containing the 					data for the insert operation. Remember, this must be referenced 					as an interface.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use transactions when inserting into 					multiple tables at once.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Return the updated BLL object to the 					“Manager”.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;/ol&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Delete – In general, deletes take 				two forms: &lt;br&gt;&lt;br&gt;A Soft delete – This flags a record as 				deleted, but doesn’t actually delete the record.&lt;br&gt;&lt;br&gt;A 				Hard delete – This actually deletes a record from the 				database.&lt;/font&gt;&lt;/h1&gt; 				&lt;ol&gt; 					&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Both “Hard” and “Soft” 					deletes should be written into the DAL, typically only utilizing 					the “Soft” delete from the UIL.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use transactions when deleting from more 					then one table.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Only send in what is necessary from the 					BLL to retrieve the data. This typically means a primary key.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;/ol&gt; 				&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Update – This would be any “Update” 				type operation.&lt;/font&gt;&lt;/h1&gt; 				&lt;ol&gt; 					&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Send in the BLL object containing the 					data to use for the update operation. Remember, this should be 					referenced as an interface.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Use transactions when updating more then 					one table.&lt;/font&gt;&lt;/h1&gt; 					&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Return the updated object to the 					“Manager”.&lt;/font&gt;&lt;/h1&gt; 				&lt;/li&gt;&lt;/ol&gt; 			&lt;/li&gt;&lt;/ol&gt; 		&lt;/li&gt;&lt;/ol&gt; 	&lt;/ol&gt; &lt;/ol&gt; &lt;h1 class="western" style="margin-left: 1.25in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/h1&gt; &lt;ol style="font-family: Verdana;" start="5"&gt; 	&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Test&lt;br&gt;&lt;br&gt;Testing is the process of 	ensuring quality of the solution. The solutions quality is measured 	by how well it handles defined requirements, and how well it 	performs in that capacity. &lt;br&gt;&lt;br&gt;Testing preparation starts at the 	Analysis phase by analyzing requirements to determine how to test 	for each. Then, as construction for each requirement takes place, 	testing is done to ensure that the constructed artifact does in fact 	meet the requirements it was designed to. Testing is continued 	throughout deployment to ensure quality at the solution level.&lt;br&gt;&lt;br&gt;Testing procedures:&lt;/font&gt;&lt;/h1&gt; 	&lt;ol&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Unit Testing – This is the process of 		testing highly specialized parts of the system to make sure they 		handle their specific requirements correctly before they are 		integrated into larger components.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Component Testing – Component Testing 		will ensure that as highly specialized artifacts are brought 		together to build larger components of the overall system, they 		will continue to perform their specialized requirements and work 		together to accomplish a larger set of required functionality.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Integration Testing – Integration 		Testing is the process of testing component as they are integrated 		together to compose a functional piece of the solution. Testing is 		done to ensure the component meets requirements as defined for the 		component and that the integrated set of components meets overall 		business requirements for the solution as a whole.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Regression Testing – Regression 		Testing is the process of testing peripheral functionality 		(functionality outside of what was explicitly changed or added) to 		ensure changes did not have negative impact to any part of the 		system.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Usability Testing – Usability Testing 		will ensures that working parts of the solution have acceptable 		usability based on business requirements.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Acceptance Testing – As a final step 		of the testing process, clients/end users will have an opportunity 		to test working parts of the solution to make sure it meets their 		expectations as was defined during the Requirements and Analysis 		phases of the project.&lt;/font&gt;&lt;/h1&gt; 	&lt;/li&gt;&lt;/ol&gt; 	&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;Deploy&lt;br&gt;&lt;br&gt;Deployment is the process of 	moving tested functional parts of the solution resulting from the 	Construction phase into a different environment. This environment 	can be integration with overall solution in a development 	environment, moving the solution to a test or production 	environment, or integrating the solution with a 3&lt;sup&gt;rd&lt;/sup&gt; party 	system. Before this can happen the following must be true:&lt;/font&gt;&lt;/h1&gt; 	&lt;ol&gt; 		&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;The artifact has been tested to make sure 		it meets the requirements as defined by the business.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;The artifact has been tested to ensure that 		is performs these operations well; without error and with proper 		usability.&lt;/font&gt;&lt;/h1&gt; 		&lt;/li&gt;&lt;li&gt;&lt;h1 class="western"&gt;&lt;font size="3"&gt;The artifact has been tested to ensure 		interoperability with the rest of the solution and any dependent 		systems (Regression Testing).&lt;/font&gt;&lt;/h1&gt; 	&lt;/li&gt;&lt;/ol&gt; &lt;/li&gt;&lt;/ol&gt; &lt;h1 style="font-family: Verdana;" class="western"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/h1&gt; &lt;h1 style="font-family: Verdana;" class="western"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/h1&gt; &lt;h1 style="font-family: Verdana;" class="western"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/h1&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;b&gt;Appendix A – Use Cases Guidance/Template&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;b&gt;The following table describes the elements you should add to your Use Case diagrams:&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;table style="font-family: Verdana;" border="1" bordercolor="#000000" cellpadding="8" cellspacing="0" width="616"&gt; 	&lt;col width="291"&gt; 	&lt;col width="291"&gt; 	&lt;tbody&gt;&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Section 			Title&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;UC 			Name&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;ID 			of Use Case – i.e. 1.2.3.  Can use Tag in Visio.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Actor&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Person 			or System performing Use Case tasks.  Represented as part of Use 			Case diagram.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Requirement&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;ID 			from requirements documentation.  – i.e. 1.2.3.  Provides 			tracability.  Can use Tag in Visio.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Pre-condition&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Pertinent 			facts that must be true about the system prior to beginning tasks. 			&lt;/b&gt;&lt;/font&gt; 			&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Tasks&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in; margin-bottom: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Flow 			of work that actor engages in to accomplish Use Case.  Represents 			the "normal" flow.  &lt;/b&gt;&lt;/font&gt; 			&lt;/p&gt; 			&lt;p style="margin-top: 0.03in; margin-bottom: 0.03in;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt; 			&lt;/p&gt; 			&lt;p style="margin-top: 0.03in; margin-bottom: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Alterations 			of the flow should go in Task Exceptions.  For any significant 			alterations, or any task sequences that differ significantly from 			the normal flow or are hard to describe in a sequence diagram, 			create a new Use Case and rename present Use Case to be more 			specific.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 			&lt;p style="margin-top: 0.03in; margin-bottom: 0.03in;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt; 			&lt;/p&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;If 			you encounter the same task sequence across two or more Use Cases, 			break the subset of tasks into their own Use Case and reference 			the new Use Case with an Extends or Uses association.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Task 			Exceptions&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Paths 			that alter the normal task flow should be documented as Task 			Exceptions.  If the exception is significant, consider creating a 			new Use Case and renaming the present Use Case to something more 			specific.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Post-condition&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Pertinent 			facts that must be true about the system after completion.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; 	&lt;tr valign="top"&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 		&lt;td width="291"&gt; 			&lt;p style="margin-top: 0.03in;"&gt;&lt;font size="3"&gt;&lt;b&gt;Create 			a note for anything that doesn't fit in other categories.  i.e. 			assumptions, business rules, and constraints.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 		&lt;/td&gt; 	&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;b&gt;Use the following item as a template.  Documentation is provided separately, in the table above, so you can easily copy and paste this template:&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin-top: 0.03in; margin-bottom: 0.03in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;UC Name:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Actor:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Requirement:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Pre-condition:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Tasks:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;Task Exceptions:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Post-condition:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;font size="3"&gt;Notes:&lt;/font&gt;&lt;/p&gt; &lt;p class="western" style="margin-top: 0.17in; margin-bottom: 0in; font-family: Verdana;"&gt;&lt;/p&gt;&lt;h1 style="font-family: Verdana;" class="western"&gt;&lt;/h1&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-7577412780310015060?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/7577412780310015060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=7577412780310015060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/7577412780310015060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/7577412780310015060'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/03/web-development-process-this-document.html' title='Asp.NET Web Development Process'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-7103754230920006602</id><published>2008-03-24T05:18:00.000-07:00</published><updated>2008-03-24T06:59:59.147-07:00</updated><title type='text'></title><content type='html'>&lt;h3 class="post-title entry-title"&gt;jQuery - The Basics &lt;/h3&gt; &lt;p&gt;This is a basic tutorial, designed to help you get started using jQuery. If you don't have a test page setup yet, start by creating a new HTML page with the following contents: &lt;/p&gt; &lt;pre&gt;  &amp;lt;html&amp;gt;&lt;br&gt;  &amp;lt;head&amp;gt;&lt;br&gt;    &amp;lt;script type="text/javascript" src="path/to/jquery.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;    &amp;lt;script type="text/javascript"&amp;gt;&lt;br&gt;      // Your code goes here&lt;br&gt;    &amp;lt;/script&amp;gt;&lt;br&gt;  &amp;lt;/head&amp;gt;&lt;br&gt;  &amp;lt;body&amp;gt;&lt;br&gt;    &amp;lt;a href="http://jquery.com/"&amp;gt;jQuery&amp;lt;/a&amp;gt;&lt;br&gt;  &amp;lt;/body&amp;gt;&lt;br&gt;  &amp;lt;/html&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Edit the &lt;code&gt;src&lt;/code&gt; attribute in the script tag to point to your copy of jquery.js. For example, if jquery.js is in the same directory as your HTML file, you can use: &lt;/p&gt; &lt;pre&gt; &amp;lt;script type="text/javascript" src="jquery.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;&lt;/pre&gt; &lt;p&gt;You can download your own copy of jQuery from the &lt;a href="http://docs.jquery.com/Downloading_jQuery" title="Downloading jQuery"&gt;Downloading jQuery&lt;/a&gt; page. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=2" title="Edit section: Launching Code on Document Ready"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Launching_Code_on_Document_Ready"&gt;&lt;/a&gt;&lt;h3&gt; Launching Code on Document Ready &lt;/h3&gt; &lt;p&gt;The first thing that most Javascript programmers end up doing is adding some code to their program, similar to this: &lt;/p&gt; &lt;pre&gt; window.onload = function(){ alert("a") }&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Inside of which is the code that you want to run right when the page is loaded. Problematically, however, the Javascript code isn't run until all images are finished downloading (this includes banner ads). The reason for using window.onload in the first place is due to the fact that the HTML 'document' isn't finished loading yet, when you first try to run your code. &lt;/p&gt;&lt;p&gt;To circumvent both problems, jQuery has a simple statement that you can use, known as the &lt;a href="http://docs.jquery.com/Events#ready.28_fn_.29" title="Events"&gt;ready event&lt;/a&gt;: &lt;/p&gt; &lt;pre&gt; $(document).ready(function(){&lt;br&gt;   // Your code here&lt;br&gt; });&lt;br&gt;&lt;/pre&gt; &lt;p&gt;This code checks the &lt;code&gt;document&lt;/code&gt; and waits until it's ready to be manipulated - which is just what we want. So take the above snippet and stick it into the script area on your test page. The remaining jQuery examples will need to be placed inside this callback function, so they are executed when the document is ready to be worked on. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=3" title="Edit section: Making Something Happen on Click"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Making_Something_Happen_on_Click"&gt;&lt;/a&gt;&lt;h3&gt; Making Something Happen on Click &lt;/h3&gt; &lt;p&gt;The first thing we're going to try is having something happen whenever a link is &lt;a href="http://docs.jquery.com/Events#click.28_fn_.29" title="Events"&gt;clicked&lt;/a&gt;. In the &lt;b&gt;ready function&lt;/b&gt; (from the example above), add the following: &lt;/p&gt; &lt;pre&gt; $("a").click(function(){&lt;br&gt;   alert("Thanks for visiting!");&lt;br&gt; });&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Save your HTML file and reload the test page in your browser. Clicking the link on the page should make a browser's alert pop-up, before leaving to go to the main jQuery page. &lt;/p&gt;&lt;p&gt;For click and most other &lt;a href="http://docs.jquery.com/Events" title="Events"&gt;events&lt;/a&gt;, you can prevent the default behaviour - here, following the link to jquery.com - by returning false from the event handler: &lt;/p&gt; &lt;pre&gt; $("a").click(function(){&lt;br&gt;   alert("Thanks for visiting!");&lt;br&gt;   return false;&lt;br&gt; });&lt;br&gt;&lt;/pre&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=4" title="Edit section: Adding a Class"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Adding_a_Class"&gt;&lt;/a&gt;&lt;h3&gt; Adding a Class &lt;/h3&gt; &lt;p&gt;Another thing that is a common task is the addition (or removal) of &lt;code&gt;class&lt;/code&gt;es from elements, for example: &lt;/p&gt; &lt;pre&gt; $("a").addClass("test");&lt;br&gt;&lt;/pre&gt; &lt;p&gt;if you were to add some style information into the header of your script, like this: &lt;/p&gt; &lt;pre&gt; &amp;lt;style type="text/css"&amp;gt;a.test { font-weight: bold; }&lt;br&gt; &amp;lt;/style&amp;gt;&lt;br&gt;&lt;/pre&gt; &lt;p&gt;and then added the above &lt;a href="http://docs.jquery.com/Attributes/addClass" title="Attributes/addClass"&gt;addClass&lt;/a&gt; call - all your A elements would now be bold. To remove the &lt;code&gt;class&lt;/code&gt;, you'd use &lt;a href="http://docs.jquery.com/Attributes/removeClass" title="Attributes/removeClass"&gt;removeClass&lt;/a&gt; &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=5" title="Edit section: Special Effects"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Special_Effects"&gt;&lt;/a&gt;&lt;h3&gt; Special Effects &lt;/h3&gt; &lt;p&gt;In jQuery, a couple handy &lt;a href="http://docs.jquery.com/Effects" title="Effects"&gt;effects&lt;/a&gt; are provided, to really make your web site stand out. To put this to the test, change the click that you added earlier to this: &lt;/p&gt; &lt;pre&gt; $("a").click(function(){&lt;br&gt;   $(this).hide("slow");&lt;br&gt;   return false;&lt;br&gt; });&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Now, if you click any link, it should make itself slowly disappear. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=6" title="Edit section: Chainability (The Magic of jQuery)"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Chainability_.28The_Magic_of_jQuery.29"&gt;&lt;/a&gt;&lt;h2&gt; Chainability (The Magic of jQuery) &lt;/h2&gt; &lt;p&gt;jQuery uses an interesting concept to make its code short and simple. For those familiar with object-oriented programming, this concept should be rather straightforward. &lt;/p&gt;&lt;p&gt;In a nutshell: Every method within jQuery returns the query object itself, allowing you to 'chain' upon it, for example: &lt;/p&gt; &lt;pre&gt; $("a").addClass("test").show().html("foo");&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Each of those individual methods (&lt;code&gt;addClass&lt;/code&gt;, &lt;code&gt;show&lt;/code&gt;, and &lt;code&gt;html&lt;/code&gt;) return the jQuery object, allowing you to continue applying methods to the current set of elements. &lt;/p&gt;&lt;p&gt;You can take this even further, by adding or removing elements from the selection, modifying those elements and then reverting to the old selection, for example: &lt;/p&gt; &lt;pre&gt; $("a")&lt;br&gt;   .filter(".clickme")&lt;br&gt;     .click(function(){&lt;br&gt;       alert("You are now leaving the site.");&lt;br&gt;     })&lt;br&gt;   .end()&lt;br&gt;   .filter(".hideme")&lt;br&gt;     .click(function(){&lt;br&gt;       $(this).hide();&lt;br&gt;       return false;&lt;br&gt;     })&lt;br&gt;   .end();&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Which would work against the following HTML: &lt;/p&gt; &lt;pre&gt; &amp;lt;a href="&lt;a href="http://google.com/" class="external free" title="http://google.com/"&gt;http://google.com/&lt;/a&gt;" class="clickme"&amp;gt;I give a message when you leave&amp;lt;/a&amp;gt;&lt;br&gt; &amp;lt;a href="&lt;a href="http://yahoo.com/" class="external free" title="http://yahoo.com/"&gt;http://yahoo.com/&lt;/a&gt;" class="hideme"&amp;gt;Click me to hide!&amp;lt;/a&amp;gt;&lt;br&gt; &amp;lt;a href="&lt;a href="http://microsoft.com/" class="external free" title="http://microsoft.com/"&gt;http://microsoft.com/&lt;/a&gt;"&amp;gt;I'm a normal link&amp;lt;/a&amp;gt;&lt;br&gt;&lt;/pre&gt; &lt;p&gt;Methods that modify the jQuery selection, and that can be undone with &lt;code&gt;end()&lt;/code&gt;, are the following:  &lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;code&gt;add()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;children()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;eq()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;filter()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;find()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;gt()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;lt()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;next()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;not()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;parent()&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; &lt;code&gt;parents()&lt;/code&gt; and &lt;/li&gt;&lt;li&gt; &lt;code&gt;siblings()&lt;/code&gt;. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Please check the &lt;a href="http://docs.jquery.com/Traversing" title="Traversing"&gt;Traversing API documentation&lt;/a&gt; for details of these methods. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=7" title="Edit section: Callbacks, Functions, and 'this'"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Callbacks.2C_Functions.2C_and_.27this.27"&gt;&lt;/a&gt;&lt;h2&gt; Callbacks, Functions, and 'this' &lt;/h2&gt; &lt;p&gt;A callback is a function that is passed as an argument to another function and is executed after its parent function has completed. The special thing about a callback is that functions that appear after the "parent" can execute before the callback executes. &lt;/p&gt;&lt;p&gt;Another important thing to know is how to properly pass the callback. This is where I have often forgotten the proper syntax. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=8" title="Edit section: Callback without arguments"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Callback_without_arguments"&gt;&lt;/a&gt;&lt;h3&gt; Callback &lt;i&gt;without&lt;/i&gt; arguments &lt;/h3&gt; &lt;p&gt;For a callback with no arguments you pass it like this: &lt;/p&gt; &lt;pre&gt; $.get('myhtmlpage.html', myCallBack);&lt;br&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;Note&lt;/b&gt; that the second parameter here is simply the function name (but &lt;i&gt;not&lt;/i&gt; as a string and without parentheses). Functions in Javascript are 'First class citizens' and so can be passed around like variable references and executed at a later time. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=9" title="Edit section: Callback with arguments"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Callback_with_arguments"&gt;&lt;/a&gt;&lt;h3&gt; Callback &lt;i&gt;with&lt;/i&gt; arguments &lt;/h3&gt; &lt;p&gt;"What do you do if you have arguments that you want to pass?", you might ask yourself.  &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=10" title="Edit section: Wrong"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Wrong"&gt;&lt;/a&gt;&lt;h4&gt; Wrong &lt;/h4&gt; &lt;p&gt;The Wrong Way (will &lt;b&gt;not&lt;/b&gt; work!) &lt;/p&gt; &lt;pre&gt; $.get('myhtmlpage.html', myCallBack(param1, param2));&lt;br&gt;&lt;/pre&gt; &lt;p&gt;This will not work because it calls &lt;code&gt;myCallBack(param1, param2)&lt;/code&gt; then passes the return value as the second parameter to &lt;code&gt;$.get()&lt;/code&gt;. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=11" title="Edit section: Right"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Right"&gt;&lt;/a&gt;&lt;h4&gt; Right &lt;/h4&gt; &lt;p&gt;The Right Way ( note the use of function(){ preceding myCallBack() ) &lt;/p&gt; &lt;pre&gt; $.get('myhtmlpage.html', function(){&lt;br&gt;   myCallBack(param1, param2);&lt;br&gt; });&lt;br&gt;&lt;/pre&gt; &lt;p&gt;So, by passing in an anonymous function (the part with... &lt;/p&gt; &lt;pre&gt; function(){ &lt;br&gt;   myCallBack(param1, param2);&lt;br&gt; }&lt;br&gt;&lt;/pre&gt; &lt;p&gt;...which itself calls your function with arguments), you're done. &lt;/p&gt;&lt;p&gt;This method works because it passes the anonymous function as the second parameter to &lt;code&gt;$.get()&lt;/code&gt; without executing it first. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://docs.jquery.com/action/edit/Tutorials:How_jQuery_Works?section=12" title="Edit section: More Reading"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="More_Reading"&gt;&lt;/a&gt;&lt;h2&gt; More Reading &lt;/h2&gt; &lt;p&gt;jQuery users have developed a number of helpful &lt;b&gt;&lt;a href="http://docs.jquery.com/Tutorials" title="Tutorials"&gt;tutorials&lt;/a&gt;&lt;/b&gt; to help guide you, the new jQuery user, through the process of learning how to best use this library. Again, if we could not describe properly the features of the jQuery-library... simply let us know about it. &lt;/p&gt;&lt;p&gt;From here, you should probably begin looking at the rest of the &lt;a href="http://docs.jquery.com/Main_Page" title="Main Page"&gt;Documentation&lt;/a&gt; - it's very comprehensive and covers all aspects of jQuery. If you have any questions, please feel free to send a message to the &lt;a href="http://jquery.com/discuss/" class="external text" title="http://jquery.com/discuss/"&gt;mailing list&lt;/a&gt;. &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-7103754230920006602?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/7103754230920006602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=7103754230920006602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/7103754230920006602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/7103754230920006602'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/03/jquery-basics-this-is-basic-tutorial.html' title=''/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-5428709849360783889</id><published>2008-03-24T05:13:00.000-07:00</published><updated>2008-04-15T05:48:41.094-07:00</updated><title type='text'></title><content type='html'>&lt;table cellspacing="1"&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;lsquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;lsquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;left single quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;rsquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;rsquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;right single quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;sbquo;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;sbquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;single low-9 quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ldquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;ldquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;left double quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;rdquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;rdquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;right double quote&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;bdquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;bdquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;double low-9 quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;dagger;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;dagger;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;dagger&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Dagger;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;Dagger;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;double dagger&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;permil;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;permil;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;per mill sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;lsaquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;lsaquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;single left-pointing angle quote&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;rsaquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;rsaquo;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;single right-pointing angle quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;spades;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;spades;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;black spade suit&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;clubs;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;clubs;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;black club suit&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;hearts;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;hearts;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;black heart suit&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;diams;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;diams;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;black diamond suit&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#9733;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#9733;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;black star&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#9734;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#9734;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;white star&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;oline;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;oline;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;overline, = spacing overscore&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;larr;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;larr;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;leftward arrow&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;uarr;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;uarr;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;upward arrow&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;rarr;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;rarr;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;rightward arrow&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;darr;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;darr;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;downward arrow&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;trade;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;trade;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;trademark sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr class="unused"&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#00;-&amp;amp;#08;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;unused&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#09;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;#09;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;horizontal tab&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#10;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;#10;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;line feed&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr class="unused"&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#11;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;unused&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#32;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;#32;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;space&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#33;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#33;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;exclamation mark&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;quot;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#34;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#34;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;double quotation mark&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#35;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#35;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;number sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#36;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#36;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;dollar sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#37;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#37;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;percent sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;amp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#38;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#38;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;ampersand&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#39;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#39;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;apostrophe&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#40;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#40;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;left parenthesis&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#41;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#41;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;right parenthesis&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#42;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#42;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;asterisk&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#43;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#43;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;plus sign&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#44;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#44;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;comma&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#45;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#45;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;hyphen&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#46;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#46;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;period&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;frasl;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#47;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#47;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;slash&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#48;-&amp;amp;#57;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;digits 0-9 &lt;span class="small"&gt;(&lt;a href="#nl" title="Numbers &amp;amp; Letters"&gt;see numbers &amp;amp; letters&lt;/a&gt;)&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#58;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#58;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;colon&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#59;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#59;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;semicolon&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;lt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#60;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#60;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;less-than sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#61;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#61;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;equals sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#62;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#62;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;greater-than sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#63;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#63;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;question mark&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#64;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#64;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;at sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#65;-&amp;amp;#90;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase letters A-Z &lt;span class="small"&gt;(&lt;a href="#nl" title="Numbers &amp;amp; Letters"&gt;see numbers &amp;amp; letters&lt;/a&gt;)&lt;/span&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#91;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#91;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;left square bracket&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#92;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#92;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;backslash&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#93;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#93;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;right square bracket&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#94;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#94;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;caret&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#95;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#95;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;horizontal bar (underscore)&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#96;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#96;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#97;-&amp;amp;#122;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase letters a-z &lt;span class="small"&gt;(&lt;a href="#nl" title="Numbers &amp;amp; Letters"&gt;see numbers &amp;amp; letters&lt;/a&gt;)&lt;/span&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#123;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#123;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;left curly brace&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#124;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#124;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;vertical bar&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#125;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#125;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;right curly brace&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#126;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#126;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;tilde&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr class="unused"&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#127;-&amp;amp;#149;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;unused&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ndash;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#150;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#150;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;en dash&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;mdash;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#151;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#151;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;em dash&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr class="unused"&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#152;-&amp;amp;#159;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;unused&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#160;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#160;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;nonbreaking space&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;iexcl;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#161;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#161;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;inverted exclamation&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;cent;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#162;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#162;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;cent sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;pound;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#163;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#163;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;pound sterling&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;curren;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#164;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#164;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;general currency sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;yen;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#165;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#165;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;yen sign&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;brvbar; or &amp;amp;brkbar;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#166;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#166;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;broken vertical bar&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;sect;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#167;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#167;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;section sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;uml; or &amp;amp;die;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#168;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#168;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;copy;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#169;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#169;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;copyright&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ordf;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#170;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#170;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;feminine ordinal&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;laquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#171;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#171;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;left angle quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;not;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#172;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#172;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;not sign&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;shy;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#173;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#173;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;soft hyphen&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;reg;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#174;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#174;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;registered trademark&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;macr; or &amp;amp;hibar;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#175;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#175;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;macron accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;deg;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#176;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#176;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;degree sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;plusmn;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#177;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#177;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;plus or minus&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;sup2;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#178;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#178;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;superscript two&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;sup3;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#179;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#179;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;superscript three&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;acute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#180;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#180;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;micro;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#181;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#181;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;micro sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;para;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#182;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#182;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;paragraph sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;middot;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#183;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#183;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;middle dot&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;cedil;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#184;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#184;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;cedilla&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;sup1;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#185;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#185;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;superscript one&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ordm;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#186;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#186;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;masculine ordinal&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;raquo;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#187;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#187;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;right angle quote&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;frac14;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#188;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#188;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;one-fourth&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;frac12;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#189;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#189;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;one-half&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;frac34;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#190;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#190;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;three-fourths&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;iquest;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#191;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#191;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;inverted question mark&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Agrave;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#192;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#192;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;uppercase A, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Aacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#193;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#193;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase A, acute accent&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Acirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#194;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#194;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase A, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Atilde;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#195;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#195;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase A, tilde&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Auml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#196;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#196;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase A, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Aring;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#197;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#197;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase A, ring&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;AElig;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#198;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#198;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase AE&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ccedil;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#199;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#199;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;uppercase C, cedilla&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Egrave;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#200;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#200;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase E, grave accent&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Eacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#201;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#201;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase E, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ecirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#202;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#202;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase E, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Euml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#203;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#203;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase E, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Igrave;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#204;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#204;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase I, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Iacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#205;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#205;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase I, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Icirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#206;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#206;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;uppercase I, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Iuml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#207;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#207;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase I, umlaut&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ETH;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#208;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#208;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase Eth, Icelandic&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ntilde;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#209;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#209;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase N, tilde&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ograve;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#210;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#210;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase O, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Oacute;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#211;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#211;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase O, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ocirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#212;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#212;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase O, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Otilde;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#213;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#213;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;uppercase O, tilde&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ouml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#214;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#214;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase O, umlaut&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;times;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#215;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#215;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;multiplication sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Oslash;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#216;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#216;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase O, slash&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ugrave;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#217;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#217;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase U, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Uacute;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#218;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#218;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase U, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Ucirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#219;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#219;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase U, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Uuml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#220;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#220;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;uppercase U, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;Yacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#221;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#221;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase Y, acute accent&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;THORN;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#222;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#222;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;uppercase THORN, Icelandic&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;szlig;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#223;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#223;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase sharps, German&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;agrave;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#224;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#224;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase a, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;aacute;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#225;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#225;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase a, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;acirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#226;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#226;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase a, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;atilde;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#227;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#227;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;lowercase a, tilde&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;auml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#228;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#228;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase a, umlaut&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;aring;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#229;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#229;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase a, ring&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;aelig;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#230;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#230;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase ae&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ccedil;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#231;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#231;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase c, cedilla&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;egrave;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#232;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#232;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase e, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;eacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#233;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#233;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;lowercase e, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ecirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#234;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#234;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase e, circumflex accent&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;euml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#235;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#235;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase e, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;igrave;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#236;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#236;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase i, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;iacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#237;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#237;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase i, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;icirc;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#238;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#238;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase i, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;iuml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#239;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#239;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase i, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;eth;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#240;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#240;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;lowercase eth, Icelandic&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ntilde;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#241;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#241;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase n, tilde&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ograve;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#242;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#242;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase o, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;oacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#243;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#243;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase o, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ocirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#244;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#244;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase o, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;otilde;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#245;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#245;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase o, tilde&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ouml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#246;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#246;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase o, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;divide;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#247;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#247;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;division sign&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;oslash;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#248;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#248;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase o, slash&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ugrave;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#249;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#249;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase u, grave accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;uacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#250;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#250;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase u, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;ucirc;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#251;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#251;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase u, circumflex accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;uuml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#252;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#252;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase u, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;yacute;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#253;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#253;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;lowercase y, acute accent&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;thorn;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#254;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#254;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase thorn, Icelandic&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;yuml;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#255;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#255;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;lowercase y, umlaut&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&lt;a name="nl"&gt;&lt;/a&gt;&lt;strong&gt;Name Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Number Code&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Glyph&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#48;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#48;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;0&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#49;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#49;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;1&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#50;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#50;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;2&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#51;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#51;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;3&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#52;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#52;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;4&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#53;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#53;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;5&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#54;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#54;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;6&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#55;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#55;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;7&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#56;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#56;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;8&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#57;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#57;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;9&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#65;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#65;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;A&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#66;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#66;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;B&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#67;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#67;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;C&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#68;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#68;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;D&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#69;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#69;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;E&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#70;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#70;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;F&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#71;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#71;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;G&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#72;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#72;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;H&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#73;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#73;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;I&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#74;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#74;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;J&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#75;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#75;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;K&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#76;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#76;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;L&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#77;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#77;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;M&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#78;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#78;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;N&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#79;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#79;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;O&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#80;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#80;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;P&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#81;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#81;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;Q&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#82;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#82;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;R&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#83;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#83;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;S&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#84;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#84;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;T&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#85;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#85;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;U&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#86;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#86;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;V&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#87;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#87;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;W&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#88;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#88;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;X&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#89;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#89;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;Y&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#90;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#90;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;Z&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#97;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#97;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;a&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#98;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#98;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;b&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#99;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#99;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;c&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#100;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#100;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;d&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#101;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#101;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;e&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#102;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#102;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;f&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#103;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#103;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;g&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#104;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#104;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;h&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#105;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#105;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;i&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#106;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#106;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;j&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#107;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#107;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;k&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#108;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#108;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;l&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#109;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#109;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;m&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#110;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#110;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;n&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#111;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#111;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;o&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#112;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#112;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;p&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#113;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#113;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;q&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#114;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#114;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;r&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#115;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#115;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;s&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#116;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#116;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;t&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#117;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#117;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;u&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#118;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#118;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;v&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#119;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#119;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;w&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#120;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#120;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;x&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#121;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#121;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;y&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&amp;amp;#122;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;&lt;b&gt;&amp;#122;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;  &lt;td&gt;z&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-5428709849360783889?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/5428709849360783889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=5428709849360783889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5428709849360783889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5428709849360783889'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2008/03/html-special-characters-character.html' title=''/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-6102123395824344407</id><published>2007-11-21T05:29:00.001-08:00</published><updated>2008-03-09T22:42:21.199-07:00</updated><title type='text'>Reader Helper Class in C#</title><content type='html'>This class will help with reading data from any DataReader. It has helper methods to parse out almost any datatype from the database into a C# data type.&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;&lt;br /&gt;using System.Data.Common;&lt;br /&gt;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;using System.Xml;&lt;br /&gt;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;public class ReaderHelper&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultGuid"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static Guid GetGuid(DbDataReader rdr, string column, Guid defaultGuid)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultGuid;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetGuid(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultGuid"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static Guid GetGuid(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;return rdr.GetGuid(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static decimal GetDecimal(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetDecimal(rdr, column, 0);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static decimal GetDecimal(DbDataReader rdr, string column, decimal defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetDecimal(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static double GetDouble(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetDouble(rdr, column, 0);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static double GetDouble(DbDataReader rdr, string column, double defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetDouble(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static DateTime GetDateTime(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetDateTime(rdr, column, new DateTime());&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static DateTime GetDateTime(DbDataReader rdr, string column, DateTime defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetDateTime(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static string GetString(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetString(rdr, column, null);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static string GetString(DbDataReader rdr, string column, string defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetString(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static string GetStringNotNull(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return "";&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;string value = rdr.GetString(ordinal);&lt;br /&gt;&lt;br /&gt;if (value == null) value = "";&lt;br /&gt;&lt;br /&gt;return value;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static int GetInt(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetInt(rdr, column, 0);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static int GetInt(DbDataReader rdr, string column, int defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetInt32(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static int GetInt16(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetInt16(rdr, column, 0);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static int GetInt16(DbDataReader rdr, string column, int defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetInt16(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static double GetMoney(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;SqlDataReader sqlReader = (SqlDataReader)rdr;&lt;br /&gt;&lt;br /&gt;if (sqlReader.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return new double();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return double.Parse(sqlReader.GetSqlMoney(ordinal).ToString());&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static byte GetByte(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;/p&gt;&lt;br /&gt;&lt;p&gt; if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return new byte();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return rdr.GetByte(ordinal);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static char GetChar(DbDataReader rdr, string column, char defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;char[] c = new char[1];&lt;br /&gt;&lt;br /&gt;rdr.GetChars(0, 0, c, 0, 1);&lt;br /&gt;&lt;br /&gt;return c[0];&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static bool GetBool(DbDataReader rdr, string column)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return GetBool(rdr, column, false);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;///&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="rdr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="column"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;param name="defaultValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;br /&gt;public static bool GetBool(DbDataReader rdr, string column, bool defaultValue)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int ordinal = rdr.GetOrdinal(column);&lt;br /&gt;&lt;br /&gt;if (rdr.IsDBNull(ordinal))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return defaultValue;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;string value = "";&lt;/p&gt;&lt;br /&gt;&lt;p&gt; value = rdr.GetValue(ordinal).ToString();&lt;/p&gt;&lt;br /&gt;&lt;p&gt; if (value.Equals("yes", StringComparison.OrdinalIgnoreCase)&lt;br /&gt;&lt;br /&gt;|| value.Equals("y", StringComparison.OrdinalIgnoreCase)&lt;br /&gt;&lt;br /&gt;|| value.Equals("on", StringComparison.OrdinalIgnoreCase)&lt;br /&gt;&lt;br /&gt;|| value.Equals("true", StringComparison.OrdinalIgnoreCase)&lt;br /&gt;&lt;br /&gt;|| value.Equals("1", StringComparison.OrdinalIgnoreCase))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return true;&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; return false;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-6102123395824344407?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/6102123395824344407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=6102123395824344407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/6102123395824344407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/6102123395824344407'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/reader-helper-class.html' title='Reader Helper Class in C#'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-8393795631388404085</id><published>2007-11-21T05:26:00.001-08:00</published><updated>2008-03-09T22:43:09.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='GridView'/><title type='text'>Sorting and Grouping with the Asp.Net GridView control</title><content type='html'>&lt;p&gt;Here is an example of how you can sort and group a GridView.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private bool _sorted = false;&lt;br /&gt;&lt;br /&gt;private int _sortColumnIndex = -1;&lt;br /&gt;&lt;br /&gt;private string _sortColumnHeader = string.Empty;&lt;br /&gt;&lt;p&gt; private string _SortExpr;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public string SortExpr&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;get { return _SortExpr; }&lt;br /&gt;&lt;br /&gt;set { _SortExpr = value; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;ResolveGroupingData(e.SortExpression);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; private void ResolveGroupingData(string sortExpression)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;foreach (DataControlField field in GridView1.Columns)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (field.SortExpression == sortExpression)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;_sorted = true;&lt;br /&gt;&lt;br /&gt;SortExpr = sortExpression;&lt;br /&gt;&lt;br /&gt;_sortColumnIndex = GridView1.Columns.IndexOf(field);&lt;br /&gt;&lt;br /&gt;_sortColumnHeader = field.HeaderText;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected override void Render(HtmlTextWriter writer)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (_sorted)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Table table = (Table)GridView1.Controls[0];&lt;br /&gt;&lt;br /&gt;Hashtable htLookUp = new Hashtable();&lt;br /&gt;&lt;br /&gt;foreach (GridViewRow row in GridView1.Rows)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;int realIndex = table.Rows.GetRowIndex(row);&lt;br /&gt;&lt;br /&gt;string text = row.Cells[_sortColumnIndex].Text;&lt;br /&gt;&lt;br /&gt;if (string.IsNullOrEmpty(text))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;SortExpr = SortExpr.Replace('.', '_');&lt;br /&gt;&lt;br /&gt;text = ((Label)row.FindControl("lbl" + SortExpr)).Text;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (!htLookUp.ContainsKey(text))&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;htLookUp.Add(text, null);&lt;br /&gt;&lt;br /&gt;GridViewRow newHeaderRow = new GridViewRow(realIndex, realIndex, DataControlRowType.DataRow, DataControlRowState.Normal);&lt;br /&gt;&lt;br /&gt;TableCell newCell = new TableCell();&lt;br /&gt;&lt;br /&gt;newHeaderRow.Cells.Add(newCell);&lt;br /&gt;&lt;br /&gt;newCell.ColumnSpan = GridView1.Columns.Count;&lt;br /&gt;&lt;br /&gt;newCell.BackColor = System.Drawing.Color.Gray;&lt;br /&gt;&lt;br /&gt;newCell.ForeColor = System.Drawing.Color.White;&lt;br /&gt;&lt;br /&gt;newCell.Font.Bold = true;&lt;br /&gt;&lt;br /&gt;newCell.Text = string.Format(_sortColumnHeader, "&amp;amp;nbsp;:&amp;amp;nbsp;{0}", text);&lt;/p&gt;&lt;br /&gt;&lt;p&gt; table.Controls.AddAt(realIndex, newHeaderRow);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;base.Render(writer);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-8393795631388404085?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/8393795631388404085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=8393795631388404085' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/8393795631388404085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/8393795631388404085'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/here-is-example-of-how-you-can-sort-and.html' title='Sorting and Grouping with the Asp.Net GridView control'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-3071019274116906522</id><published>2007-11-21T05:26:00.000-08:00</published><updated>2008-03-23T17:29:28.086-07:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Here is an example of how you can sort and group a GridView.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private bool _sorted = false;&lt;br /&gt;&lt;br /&gt;private int _sortColumnIndex = -1;&lt;br /&gt;&lt;br /&gt;private string _sortColumnHeader = string.Empty;&lt;br /&gt;&lt;p&gt; private string _SortExpr;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public string SortExpr&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; get { return _SortExpr; }&lt;br /&gt;&lt;br /&gt; set { _SortExpr = value; }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; ResolveGroupingData(e.SortExpression);&lt;br /&gt;&lt;br /&gt; }&lt;/p&gt;&lt;br /&gt;&lt;p&gt; private void ResolveGroupingData(string sortExpression)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; foreach (DataControlField field in GridView1.Columns)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; if (field.SortExpression == sortExpression)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; _sorted = true;&lt;br /&gt;&lt;br /&gt; SortExpr = sortExpression;&lt;br /&gt;&lt;br /&gt; _sortColumnIndex = GridView1.Columns.IndexOf(field);&lt;br /&gt;&lt;br /&gt; _sortColumnHeader = field.HeaderText;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; protected override void Render(HtmlTextWriter writer)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; if (_sorted)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; Table table = (Table)GridView1.Controls[0];&lt;br /&gt;&lt;br /&gt; Hashtable htLookUp = new Hashtable();&lt;br /&gt;&lt;br /&gt; foreach (GridViewRow row in GridView1.Rows)&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; int realIndex = table.Rows.GetRowIndex(row);&lt;br /&gt;&lt;br /&gt; string text = row.Cells[_sortColumnIndex].Text;&lt;br /&gt;&lt;br /&gt; if (string.IsNullOrEmpty(text))&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; SortExpr = SortExpr.Replace('.', '_');&lt;br /&gt;&lt;br /&gt; text = ((Label)row.FindControl("lbl" + SortExpr)).Text;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; if (!htLookUp.ContainsKey(text))&lt;br /&gt;&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; htLookUp.Add(text, null);&lt;br /&gt;&lt;br /&gt; GridViewRow newHeaderRow = new GridViewRow(realIndex, realIndex, DataControlRowType.DataRow, DataControlRowState.Normal);&lt;br /&gt;&lt;br /&gt; TableCell newCell = new TableCell();&lt;br /&gt;&lt;br /&gt; newHeaderRow.Cells.Add(newCell);&lt;br /&gt;&lt;br /&gt; newCell.ColumnSpan = GridView1.Columns.Count;&lt;br /&gt;&lt;br /&gt; newCell.BackColor = System.Drawing.Color.Gray;&lt;br /&gt;&lt;br /&gt; newCell.ForeColor = System.Drawing.Color.White;&lt;br /&gt;&lt;br /&gt; newCell.Font.Bold = true;&lt;br /&gt;&lt;br /&gt; newCell.Text = string.Format(_sortColumnHeader, "&amp;amp;nbsp;:&amp;amp;nbsp;{0}", text);&lt;/p&gt;&lt;br /&gt;&lt;p&gt; table.Controls.AddAt(realIndex, newHeaderRow);&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; base.Render(writer);&lt;br /&gt;&lt;br /&gt; }&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-3071019274116906522?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/3071019274116906522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=3071019274116906522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/3071019274116906522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/3071019274116906522'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/here-is-example-of-how-you-can-sort-and_21.html' title=''/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-6617065076437521196</id><published>2007-11-21T05:18:00.000-08:00</published><updated>2007-11-21T05:23:42.653-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Example of how to compare two objects for sorting.</title><content type='html'>The example below demonstrates how you can compare two objects to allow for sorting. This is also a good example  of how you can use reflection.&lt;br /&gt;&lt;br /&gt;using System.Web;&lt;br /&gt;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;&lt;br /&gt;using System.Reflection;&lt;br /&gt;&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;br /&gt;/// Summary description for ObjectComparer&lt;br /&gt;&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;br /&gt;public class ObjectComparer&amp;lt;T&amp;gt; : IComparer&amp;lt;T&amp;gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#region Properties&lt;/p&gt;&lt;br /&gt;&lt;p&gt; private string _direction = "ASC";&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public string Direction&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;get { return _direction; }&lt;br /&gt;&lt;br /&gt;set { _direction = value; }&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; private string _compareField;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public string CompareField&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;get { return _compareField; }&lt;br /&gt;&lt;br /&gt;set { _compareField = value; }&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #endregion&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #region Constructors&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public ObjectComparer(string compareField, string direction)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;_compareField = compareField;&lt;br /&gt;&lt;br /&gt;_direction = direction;&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #endregion&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #region IComparer&amp;lt;T&amp;gt; Members&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public int Compare(T x, T y)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;//Split the fields into an array. The field is divided by dots,&lt;br /&gt;&lt;br /&gt;//like Employee.Person.FirstName&lt;br /&gt;&lt;br /&gt;string[] fieldParts = _compareField.Split('.');&lt;/p&gt;&lt;br /&gt;&lt;p&gt; object compareValX = x;&lt;br /&gt;&lt;br /&gt;object compareValY = y;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; //get the value of each field in the list.&lt;br /&gt;&lt;br /&gt;foreach (string field in fieldParts)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;compareValX = GetPropertyValue(compareValX, field);&lt;br /&gt;&lt;br /&gt;compareValY = GetPropertyValue(compareValY, field);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; //compare the values of the last fields in the list. Assumes the field's&lt;br /&gt;&lt;br /&gt;//type implements IComparable.&lt;br /&gt;&lt;br /&gt;int compareValue = ((IComparable)compareValX).CompareTo(compareValY); &lt;/p&gt;&lt;br /&gt;&lt;p&gt; //negate the result if dircection is descending&lt;br /&gt;&lt;br /&gt;if (_direction.ToUpper() == "DESC")&lt;br /&gt;&lt;br /&gt;compareValue = -1 * compareValue;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; return compareValue;&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; private object GetPropertyValue(object o, string property)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;//using reflection, load the type and return the value of&lt;br /&gt;&lt;br /&gt;//the given property. This will throw an exception if the&lt;br /&gt;&lt;br /&gt;//property cannot be found.&lt;br /&gt;&lt;br /&gt;PropertyInfo pi = o.GetType().GetProperty(property);&lt;br /&gt;&lt;br /&gt;object val = pi.GetValue(o, null);&lt;br /&gt;&lt;br /&gt;return val;&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #endregion&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #region IComparer&amp;lt;T&amp;gt; Members&lt;/p&gt;&lt;br /&gt;&lt;p&gt; int IComparer&amp;lt;T&amp;gt;.Compare(T x, T y)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;//throw new Exception("The method or operation is not implemented.");&lt;/p&gt;&lt;br /&gt;&lt;p&gt; //Split the fields into an array. The field is divided by dots,&lt;br /&gt;&lt;br /&gt;//like Employee.Person.FirstName&lt;br /&gt;&lt;br /&gt;string[] fieldParts = _compareField.Split('.');&lt;/p&gt;&lt;br /&gt;&lt;p&gt; object compareValX = x;&lt;br /&gt;&lt;br /&gt;object compareValY = y;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; //get the value of each field in the list.&lt;br /&gt;&lt;br /&gt;foreach (string field in fieldParts)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;compareValX = GetPropertyValue(compareValX, field);&lt;br /&gt;&lt;br /&gt;compareValY = GetPropertyValue(compareValY, field);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; //compare the values of the last fields in the list. Assumes the field's&lt;br /&gt;&lt;br /&gt;//type implements IComparable.&lt;br /&gt;&lt;br /&gt;int compareValue = ((IComparable)compareValX).CompareTo(compareValY);&lt;/p&gt;&lt;br /&gt;&lt;p&gt; //negate the result if dircection is descending&lt;br /&gt;&lt;br /&gt;if (_direction.ToUpper() == "DESC")&lt;br /&gt;&lt;br /&gt;compareValue = -1 * compareValue;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; return compareValue;&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;p&gt; #endregion&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-6617065076437521196?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/6617065076437521196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=6617065076437521196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/6617065076437521196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/6617065076437521196'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/example-of-how-to-compare-two-objects.html' title='Example of how to compare two objects for sorting.'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-1365616014779992772</id><published>2007-11-21T05:02:00.001-08:00</published><updated>2008-03-09T22:44:01.358-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>How to collect post data and then send it to a remote url as a post using Asp.NET.</title><content type='html'>Collect post data and send to remote URL as post. I know there is a postbackurl property that can be used, but this method allows you to modify, add, and remove from what you send to the new URL as a post. I've used this technique when integrating with PayPal and I needed to dynamically create a product that is being purchased (by including their user information), but this has many purposed.&lt;br /&gt;&lt;br /&gt;void PostMe1(Object sender,EventArgs e){&lt;br /&gt;&lt;br /&gt;RemotePost myremotepost = new RemotePost();&lt;br /&gt;&lt;br /&gt;myremotepost.Url = "http://www.jigar.net/demo/HttpRequestDemoServer.aspx";&lt;br /&gt;&lt;br /&gt;myremotepost.Add("field1","Tom");&lt;br /&gt;&lt;br /&gt;myremotepost.Add("field2","Sawyer");&lt;br /&gt;&lt;br /&gt;myremotepost.Post();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;p&gt; void PostMe2(Object sender,EventArgs e){&lt;br /&gt;&lt;br /&gt; RemotePost myremotepost = new RemotePost();&lt;br /&gt;&lt;br /&gt; myremotepost.Url = "http://www.jigar.net/demo/HttpRequestDemoServer.aspx";&lt;br /&gt;&lt;br /&gt; myremotepost.Add("field1","Huckleberry");&lt;br /&gt;&lt;br /&gt; myremotepost.Add("field2","Finn");&lt;br /&gt;&lt;br /&gt; myremotepost.Post();&lt;br /&gt;&lt;br /&gt; }&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public class RemotePost{&lt;br /&gt;&lt;br /&gt; private System.Collections.Specialized.NameValueCollection Inputs = new System.Collections.Specialized.NameValueCollection();&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; public string Url = "";&lt;br /&gt;&lt;br /&gt; public string Method = "post";&lt;br /&gt;&lt;br /&gt; public string FormName = "form1";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public void Add(string name,string value){&lt;br /&gt;&lt;br /&gt; Inputs.Add(name,value);&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public void Post(){&lt;br /&gt;&lt;br /&gt; System.Web.HttpContext.Current.Response.Clear();&lt;/p&gt;&lt;br /&gt;&lt;p&gt; System.Web.HttpContext.Current.Response.Write("&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;");&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; System.Web.HttpContext.Current.Response.Write(string.Format("&amp;lt;/head&amp;gt;&amp;lt;body onload="\"&amp;gt;",FormName));&lt;br /&gt;&lt;br /&gt; System.Web.HttpContext.Current.Response.Write(string.Format("&amp;lt;form name="\" method="\" action="\"&amp;gt;",FormName,Method,Url));&lt;br /&gt;&lt;br /&gt; for(int i=0;i&amp;lt; Inputs.Keys.Count;i++){&lt;br /&gt;&lt;br /&gt; System.Web.HttpContext.Current.Response.Write(string.Format("&amp;lt;input name="\" type="\" value="\"&amp;gt;",Inputs.Keys[i],Inputs[Inputs.Keys[i]]));&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; System.Web.HttpContext.Current.Response.Write("&amp;lt;/form&amp;gt;");&lt;br /&gt;&lt;br /&gt; System.Web.HttpContext.Current.Response.Write("&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;/p&gt;&lt;br /&gt;&lt;p&gt; System.Web.HttpContext.Current.Response.End();&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; }&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-1365616014779992772?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/1365616014779992772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=1365616014779992772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/1365616014779992772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/1365616014779992772'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/how-to-collect-post-data-and-then-send.html' title='How to collect post data and then send it to a remote url as a post using Asp.NET.'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-8594612414666293158</id><published>2007-11-21T04:59:00.000-08:00</published><updated>2008-03-09T22:38:17.891-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>How to show line breaks in an asp.net label.</title><content type='html'>When data is collected via a TextBox and line breaks are provided in the input, this is a way to show those breaks in a label. This was surprisingly difficult  to figure out for me, so hopefully this will save someone some time.&lt;br /&gt;&lt;br /&gt;public string WrappableText(string source)&lt;br /&gt;{&lt;br /&gt;      string nwln = Environment.NewLine;&lt;br /&gt;      return "&lt;p&gt;" +&lt;br /&gt;      source.Replace(nwln + nwln, "&lt;/p&gt;&lt;p&gt;")&lt;br /&gt;      .Replace(nwln, "&lt;br /&gt;") + "&lt;/p&gt;";&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-8594612414666293158?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/8594612414666293158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=8594612414666293158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/8594612414666293158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/8594612414666293158'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/how-to-show-line-breaks-in-label.html' title='How to show line breaks in an asp.net label.'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-5757845112661526578</id><published>2007-11-21T04:57:00.001-08:00</published><updated>2008-03-09T22:44:55.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>How to retrieve a page content with Asp.NET</title><content type='html'>I use the method below to retrieve a page's content. I often use this technique to send invoices or receipts.  You can create any page, then call this function to pull it into a string and send it as the email body.&lt;br /&gt;&lt;br /&gt;public string GetUrl(string path)&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      using (StringWriter writer = new StringWriter())&lt;br /&gt;      {&lt;br /&gt;&lt;br /&gt;          Server.Execute(path, writer);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;          string html = writer.ToString();&lt;br /&gt;          path = "http://" + Request.ServerVariables["SERVER_NAME"] + ResolveUrl(path);&lt;br /&gt;          path = path.Substring(0, path.LastIndexOf("/") + 1);&lt;br /&gt;          //this is here so the css references from the theme are absolute paths&lt;br /&gt;          html.Replace("\"../", "\"" + path + "../");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;          return html;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;  }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-5757845112661526578?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/5757845112661526578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=5757845112661526578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5757845112661526578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/5757845112661526578'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/how-to-retrieve-page-content.html' title='How to retrieve a page content with Asp.NET'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-4281651606139955360</id><published>2007-11-16T13:15:00.000-08:00</published><updated>2008-03-09T22:40:41.504-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Searching with the WSSListProvider for Sharepoint</title><content type='html'>&lt;div&gt; &lt;div class="ExternalClass4BAC2749FE99491B804ECAAE0D7DEA3F"&gt;The WSSListProvider is a provider build on the Asp.NET provider framework that eases accessibility and simplifies the programming required to access list data in SharePoint. This is the basis for the SharePoint membership, profile, sitemap and role providers based on SharePoint list data. If you interested in any of these providers, please contact me.&lt;br /&gt;&lt;br /&gt;This post explain in  brief how to search using the WSSListProvider Sharepoint list provider.&lt;/div&gt; &lt;div class="ExternalClass4BAC2749FE99491B804ECAAE0D7DEA3F"&gt; &lt;/div&gt; &lt;div class="ExternalClass4BAC2749FE99491B804ECAAE0D7DEA3F"&gt;It takes a hashtable of  string pairs of search terms. Right now it only does exact "Text" based  searching. Adding multiple items to the hashtable results in an "and" statement,  all search items must be found.&lt;/div&gt; &lt;div class="ExternalClass4BAC2749FE99491B804ECAAE0D7DEA3F"&gt; &lt;/div&gt; &lt;div class="ExternalClass4BAC2749FE99491B804ECAAE0D7DEA3F"&gt;The result is an xml  root node containing no, one, or multiple rows of data. In each row, the data is  stored in the attributes.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="ExternalClass4BAC2749FE99491B804ECAAE0D7DEA3F"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//This will search for "chris" in the "Username"  column of the "+Abstract" list.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Hashtable&lt;/span&gt; search = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Hashtable&lt;/span&gt;();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;search.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"Username"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"chris"&lt;/span&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;XmlNode&lt;/span&gt; result = &lt;span style="color: rgb(43, 145, 175);"&gt;WSSListManager&lt;/span&gt;.SearchListItems(&lt;span style="color: rgb(163, 21, 21);"&gt;"+Abstract"&lt;/span&gt;, search);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//Next, we can check to see how many items are in the  list&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//by using the Attribute  "ItemCount" of the root node.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; count = &lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;.Parse(result.Attributes[&lt;span style="color: rgb(163, 21, 21);"&gt;"ItemCount"&lt;/span&gt;].Value);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//Now, based on how many rows there are, we can do various  things.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (count ==  1)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//If  there's only one row, we will select the first (and only)  row&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;XmlNode&lt;/span&gt; node =  result[&lt;span style="color: rgb(163, 21, 21);"&gt;"z:row"&lt;/span&gt;];&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//We now have access to the various Attributes of the  row&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//You can either access  them individually...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; title = node.Attributes[&lt;span style="color: rgb(163, 21, 21);"&gt;"Title"&lt;/span&gt;].Value;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//Or loop through all the attributes and use a switch  statement&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;  temp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;  approved;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;XmlAttribute&lt;/span&gt; attrib &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt;  node.Attributes)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;switch&lt;/span&gt; (attrib.Name)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;"Title"&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;temp =  attrib.Value;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;"Approved"&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;approved = &lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;.Parse(attrib.Value);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;default&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (count &gt;  1)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//Alternatively, if there is more than one row, we  can&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//access the data in all  the rows by looping through them&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;XmlNode&lt;/span&gt; node &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; result)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//We need to check to make sure it's the right kind  of node&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//It injects  "Whitespace" nodes at the beginning and ending of the rows  returned&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//Alternatively, it  may be necessary to use (node.NodeType ==  XmlNodeType.Element)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;  (node.NodeType != &lt;span style="color: rgb(43, 145, 175);"&gt;XmlNodeType&lt;/span&gt;.Whitespace)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;span style="font-size:78%;"&gt;//Using the same  loop-through attributes code as above...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; temp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt; approved;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;XmlAttribute&lt;/span&gt; attrib  &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; node.Attributes)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;switch&lt;/span&gt;  (attrib.Name)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;"Title"&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;temp = attrib.Value;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;"Approved"&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;approved = &lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;.Parse(attrib.Value);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;default&lt;/span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-4281651606139955360?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/4281651606139955360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=4281651606139955360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4281651606139955360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4281651606139955360'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/searching-with-wsslistprovider.html' title='Searching with the WSSListProvider for Sharepoint'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-4362575664959627166</id><published>2007-11-15T14:12:00.000-08:00</published><updated>2007-11-15T14:22:17.737-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>How to show an asp.net User Control on a Sharepoint page</title><content type='html'>&lt;ol&gt;&lt;li&gt;Create a directory to hold the user controls on the sharepoint server under C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES&lt;/li&gt;&lt;li&gt;Move the user control into this directory, this can be uncompiled source code.&lt;/li&gt;&lt;li&gt;Using Sharepoint designer, create a page to display the user control.&lt;/li&gt;&lt;li&gt;Add the user control to the page you created with Sharepoint Designer the same way you would add any user control to a asp.net page.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That's it. Then you should be able to load this page in a browser and display the user control. &lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-4362575664959627166?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/4362575664959627166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=4362575664959627166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4362575664959627166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/4362575664959627166'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/11/how-to-show-aspnet-user-control-on.html' title='How to show an asp.net User Control on a Sharepoint page'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4162676360472707159.post-2989670450763210209</id><published>2007-10-11T22:51:00.000-07:00</published><updated>2008-03-09T22:46:15.548-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Stored Procedure to gain exclusive access to a database</title><content type='html'>if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USP_GETEXCLUSIVE]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)&lt;br /&gt;drop procedure [dbo].[USP_GETEXCLUSIVE]&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;GO&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--create stored procedure&lt;br /&gt;CREATE PROCEDURE USP_GETEXCLUSIVE @dbname varchar(100) AS&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;SET QUOTED_IDENTIFIER OFF&lt;br /&gt;&lt;br /&gt;--declares our variables&lt;br /&gt;DECLARE @KILL_ID int&lt;br /&gt;DECLARE @QUERY VARCHAR(320)&lt;br /&gt;&lt;br /&gt;DECLARE GETEXCLUSIVE_CURSOR CURSOR FOR&lt;br /&gt;&lt;br /&gt;--get all SPIDs from SYSOBJECTS table which match our database&lt;br /&gt;SELECT A.SPID FROM SYSPROCESSES A JOIN&lt;br /&gt;SYSDATABASES B ON A.DBID=B.DBID WHERE B.NAME=@DBNAME&lt;br /&gt;&lt;br /&gt;OPEN GETEXCLUSIVE_CURSOR&lt;br /&gt;FETCH NEXT FROM GETEXCLUSIVE_CURSOR INTO @KILL_ID&lt;br /&gt;&lt;br /&gt;WHILE(@@FETCH_STATUS =0)&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;--form drop trigger query&lt;br /&gt;SET @QUERY = 'KILL '+ CONVERT(VARCHAR,@KILL_ID)&lt;br /&gt;&lt;br /&gt;EXEC (@QUERY)&lt;br /&gt;FETCH NEXT FROM GETEXCLUSIVE_CURSOR INTO @KILL_ID&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;CLOSE GETEXCLUSIVE_CURSOR&lt;br /&gt;DEALLOCATE GETEXCLUSIVE_CURSOR&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;SET QUOTED_IDENTIFIER OFF&lt;br /&gt;GO&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;GO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4162676360472707159-2989670450763210209?l=blog.yourdotnetsolution.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.yourdotnetsolution.com/feeds/2989670450763210209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4162676360472707159&amp;postID=2989670450763210209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/2989670450763210209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4162676360472707159/posts/default/2989670450763210209'/><link rel='alternate' type='text/html' href='http://blog.yourdotnetsolution.com/2007/10/stored-procedure-to-gain-exclusive.html' title='Stored Procedure to gain exclusive access to a database'/><author><name>BMan</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02087075101290900353'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>