408
Chapter 8 • Windows Forms Components and Controls
Creating Custom Windows Controls
;
Sometimes built-in controls do not provide the functionality you need.
;
A control is a component with user interface capabilities.
;
Often, you can extend an existing control instead of creating a new one.
Q:
Does Visual Basic .NET support component and control creation?
A:
Yes,Visual Basic .NET allows you to create your own components and controls.
Components can be used to provide reusable code in the form of objects.
Q:
Can I choose more than one control to collect a piece of information from
the user?
A:
Yes, many controls allow you to collect input from the user. However, some
controls are better than others for collecting and validating specific types of
information, like dates and times.
Q:
Can the properties of controls be changed at runtime?
A:
Many properties of controls can be changed at runtime. However, other 
properties are read-only at runtime.
Q:
How do I programmatically add items to a combo box?
A:
You can programmatically add items to a combo box and other controls by
using the Add method of the Items collection.
Q:
Should I create my own controls?
A:
You only need to create your own controls when the built-in controls do not
provide the functionality you need, or if they cannot be extended to provide
that functionality.
www.syngress.com
Frequently Asked Questions
The following Frequently Asked Questions, answered by the authors of this book,
are designed to both measure your understanding of the concepts presented in 
this chapter and to assist you with real-life implementation of these concepts. To
have  your  questions  about  this  chapter  answered  by  the  author,  browse  to
www.syngress.com/solutions and click on the “Ask the Author” form.
Pdf rearrange pages - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
how to rearrange pages in a pdf document; how to move pages within a pdf
Pdf rearrange pages - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
pdf page order reverse; pdf rearrange pages online
410
Chapter 9 • Using ADO.NET
Introduction
The .NET Framework leverages XML heavily. XML is steadily growing and has
gone beyond being the latest buzzword. It allows for interoperability of passing
data between disparate systems on different platforms and Microsoft has created a
number of enterprise servers that support XML, such as their Biztalk server and
even SQL Server 2000 has XML functionality built in.As industries accept stan-
dards based on XML, its use will spread to all phases of enterprise solutions.
XML is a self-describing data format and many tools are already available to
automatically create the schemas and documents. In this chapter, we discuss one
of these tools, the XML Schema Definition tool.
The ADO.NET architecture uses XML as its native data format.ADO.NET
is different from ADO 2.x.ADO.NET is filled with XML functionality, including
XML Document objects. Here we discuss working with data when connected to
the data source and when disconnected.You should already be familiar with
working with disconnected data from previous versions of ADO.This function-
ality is extended using XML and will allow for better use of data in Web pages
without a constant connection to a remote database server.ADO.NET has the
concept of a data provider, which is similar to an OLE DB provider in ADO.
ADO.NET currently has a built-in data provider for SQL Server.You gain signif-
icant performance benefits from a built-in provider.
We also discuss remoting in .NET. Remoting allows objects or components to
communicate across networks or the Internet and takes care of many of the com-
plexities of communicating across networks.This allows business objects to reside
on any computer across your network or even the Internet. It also allows the
integration of third-party business objects into your applications by calling their
methods across the Internet. Imagine that you are creating a Web application that
will accept credit cards online.With this technology, you can just make calls to
their objects across the Internet and not have to concern yourself with sup-
porting and configuring their product. Finally, in this chapter, we discuss the most
common data controls: the DataGrid, DataList, and Repeater.These controls bind
directly to a data source, display larger amounts of data in an easy-to-read format,
and are easy to configure and control.This is an important chapter. XML and
ADO.NET will be the core of most applications, and it is necessary to understand
how to handle data in the .NET Framework.
www.syngress.com
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
page directly. Moreover, when you get a PDF document which is out of order, you need to rearrange the PDF document pages. In these
reorder pages in pdf file; how to rearrange pdf pages reader
Online Merge PDF files. Best free online merge PDF tool.
the button below and download your PDF. The perfect conversion tool. By dragging your pages in the editor area you can rearrange them or delete single pages.
how to move pages around in pdf file; reverse pdf page order online
www.syngress.com
Overview of XML 
XML stands for Extensible Markup Language. XML is a standard for formatting
data that is extensible, self-describing, and solves many of the problems inherent
with data manipulation and transportation. XML uses a document paradigm
whereby a document contains a few basic elements that are easy to understand
and grasp. Moving data using XML is similar to moving data in ASCII format;
however, we have more options. For example, we can represent relationships in
XML that were very difficult to do in flat ASCII files.We do not have to deal
with fixed width, delimiting characters, or even column order.
XML is a standard with broad support in many industries and has grown to
encompass almost any type of data transportation. Since it is a specification based
on industry standards, we can count on wide-scale use and acceptance as well as a
broad range of tools to get the most out of our data. Keep in mind that XML
documents are not to be read directly, but are to be transported or transformed
into another format such as HTML.
XML Documents
XML documents are the heart of the XML standard.An XML document has at
least one element that is delimited with one start tag and one end tag. XML doc-
uments are similar to HTML, except that the tags are made up by the author.
They may have attributes designated by name value pairs to further allow for data
description:
<?xml version="1.0" standalone="yes"?>
<NewXMLDocument>
<MyTable>
<Column1>Data1</Column1>
<Column2>Data2</Column2>
</MyData>
</NewXMLDocument>
XSL
XSL stands for Extensible Stylesheet Language. XSL documents are XML docu-
ments that, when combined with another XML document, transform data into
something more useful, such as highlighting specific data.This allows a developer
to separate the logic of data presentation and the actual data into two independent
Using ADO.NET • Chapter 9
411
C# PowerPoint - How to Process PowerPoint
pages simply with a few lines of C# code. C# Codes to Sort Slides Order. If you want to use a very easy PPT slide dealing solution to sort and rearrange
pdf change page order online; move pages within pdf
VB.NET Word: How to Process MS Word in VB.NET Library in .NET
well programmed Word pages sorter to rearrange Word pages in extracting single or multiple Word pages at one & profession imaging controls, PDF document, image
move pages in pdf file; rearrange pdf pages reader
412
Chapter 9 • Using ADO.NET
objects. XSL documents use special format objects to control the transformation
of data from one format (XML) to another (HTML).
XDR
XDR stands for XML Data Reduced, an XML-based schema format that is more
powerful than Data Type Definition, or DTD. For our purposes, XDR is synony-
mous with XML Schema Definition (XSD).These formats allow verification of
data types and much more during parsing and will allow XML data to be applied
in many forms that DTD could not address.This allows our XML documents to
describe their data, and allows us to constrain them to particular schemas or
structure.
ADO.NET uses XML schema files to implement a Typed DataSet. A Typed
DataSet is a wizard-generated set of controls that make use of a schema 
definition to enforce DataType information and column names; and enforce 
these at compile time.
XPath
XPath describes location paths of data between XML documents, and can be
used to query other XML documents. Using a syntax that is similar to navigating
a file system, we can select parts of a document.This may be useful for developers
familiar with creating XPath queries. XML Query promises to combine queries
to relational databases and XML documents with similar syntax and dialog.This
will give us a powerful tool that is independent of the data source, as long as the
data source can serve up XML.
We can use XPath queries in DataXmlNavigator and XMLNavigator objects
to return nodes for reading or updating. It is a tool useful for eliminating the
scrolling and manual search implementation for addressing data in XML docu-
ments.We can take advantage of XPath, but it is not necessary to understand this
language to make the most of XML in ADO.NET.
Understanding ADO.NET Architecture 
ADO.NET is the latest extension of the Universal Data Access technology. Its
architecture is similar to ADO in some respects, but a great departure in others.
ADO.NET is much simpler, less dependant on the data source, more flexible,
and the format of data is textual instead of binary.Textual formatted data is more
verbose than binary formatted data, which makes it comparably larger.What we
get for this is ease of transportation through disconnected networks, flexibility,
www.syngress.com
VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
page will teach you to rearrange and readjust amount of robust PPT slides/pages editing methods and powerful & profession imaging controls, PDF document, image
pdf reorder pages; reverse page order pdf online
Process Images in Web Image Viewer | Online Tutorials
used document types are supported, including PDF, multi-page easy to process image and file pages with the deleting a thumbnail, and you can rearrange the file
move pages in pdf; how to move pdf pages around
Using ADO.NET • Chapter 9
413
and speed. Because ADO.NET is based on XML, it only requires that a data
provider serve up the data in XML. Once you write your data access code, you
only need to change a few parameters to connect to a different data source.
ADO.NET is based on a connectionless principle that is designed to ease the
connection limitations that we traditionally had to deal with when creating dis-
tributed solutions.We no longer have to maintain a connection, or even worry
about many of the connection options that plagued us in the past. Since the
ADO.NET classes inherit from the same core of data access classes, it will make
switching data sources much easier and less troublesome.The core ADO.NET
namespaces are described in Table 9.1.
Table 9.1
Core ADO.NET Namespaces
Namespace
Description
System.Data  
Makes up the core objects such as DataTable, 
DataColumn, DataView, and Constraints, to name a 
few. This namespace forms the basis for the others.
System.Data.Common
Defines generic objects shared by different data 
providers, such as DataAdapter, 
DataColumnMapping, and DataTableMapping. 
This namespace is used by data providers and 
contains collections useful for accessing data 
sources. For the most part, we do not use this 
namespace unless we are creating our own data 
provider.
System.Data.OleDb
Defines objects that we use to connect to and 
modify data in various data sources. It is written 
as the generic data provider and the implementa-
tion provided by the .NET Framework in Beta2 
contained drivers for Microsoft SQL Server, the 
Microsoft OLE DB Provider for Oracle, and Microsoft 
Provider for Jet 4.0. This class is useful if your pro-
ject connects to many different data sources, but 
you want more performance than the ODBC 
provider.
System.Data.SqlClient
A data provider namespace created specifically for 
Microsoft SQL Server version 7.0 and later. When 
using Microsoft SQL Server, this namespace is 
written to take advantage of the Microsoft SQL 
Server API directly and provides better performance 
than the more generic System.Data.OleDb 
namespace.
www.syngress.com
Continued
414
Chapter 9 • Using ADO.NET
System.Data.SQLTypes
Provides classes for data types specific to Microsoft 
SQL Server. These classes are designed specifically 
for SQL Server and provide better performance. If 
we do not use these specifically, the SQLClient 
objects will do it for us, but may result in loss of 
precision or type conversion errors. 
System.Data.ODBC
This namespace is intended to work with all 
compliant ODBC drivers, and is available as a 
separate download from Microsoft.
The Command, Connection, DataReader, and DataAdapter are the core
objects in ADO.NET.They form the basis for all operations regarding data in
.NET.These objects are created from the System.Data.OleDb,
System.Data.SqlClient, and the System.Data.ODBC namespaces.
Differences between ADO and ADO.NET
ADO is based on a binary format for data, with a database connection paradigm.
We were allowed to disconnect record sets in later versions of ADO, but this
required marshaling the binary representation of the data from process to process
and then reconstructing it into valid data formats.This limited us to tightly cou-
pled implementations with connection issues if we needed to operate through
firewalls, proxies, and so forth. Since ADO.NET is based on a textual standard
that does not require type conversion, marshaling, and special RPC ports for
transporting the data, Microsoft has removed many of the obstacles encountered
when creating distributed applications .
ADO uses a Recordset object that represents a table of data; however, this
view was not ideal for representing the often-relational data of today’s applica-
tions. In addition to this limitation, it has several options that confused many
developers learning the technology, such as cursor types, cursor location, and lock
types.These options generated a lot of confusion, especially if the user was not
familiar with the database from which the data was coming.
XML Support
XML is the native data format for ADO.NET. XML documents replace the
binary elements that were an integral part of ADO. XML is a standard with broad
www.syngress.com
Table 9.1
Continued
Namespace
Description
Using ADO.NET • Chapter 9
415
support and is ideal for the type of disconnected, distributed, Internet applications
being developed today. By leveraging XML, it is easier for developers of data
providers to integrate with ADO.NET. A data provider only has to create XML
documents to work with ADO.NET, which makes it a viable alternative for those
seeking the maximum flexibility for cross database development.
ADO.NET Configuration
Configuration for ADO.NET is handled during the .NET Framework installa-
tion.We don’t need to set any registry settings or path statements to alter. It all
happens on the fly, and all we have to do is understand it and use it.With ADO
we had to contend with MDAC updates until Windows 2000 came along and
incorporated this into the architecture. In some ways, we are back to the MDAC
days, except for .NET’s strategy to do away with dll.This also allows us to run
multiple versions of data access technologies without having to worry about 
ramifications or breaking old code.Yes, even ADO.NET gets its roots from the
Common Language Runtime, along with all the benefits.
Remoting in ADO.NET
XML is key to remoting in ADO.NET. XML and HTML together can be used to
create services based on the Simple Object Access Protocol, or SOAP.This allows
us to create applications that operate similar to the Browser paradigm that has
made the Internet so diverse. By offering a service—for example, credit card
authorization—we can create a listener that understands a standard SOAP request
and after verifying a valid request can return a proper response.All this is possible
with XML. XML is at the center of ADO.NET, and therefore very important to
any .NET application that will involve data of any type.
Maintaining State
Since ADO.NET uses a connectionless, XML document methodology to handle
data access, maintaining state is not optional when using the DataSet object.When
we populate the DataSet, we are retrieving a populated XML document that is a
copy of the data stored in the original data source.This mandates that we have
“state,”and comes in handy when we have lengthy operations that may tie up a
connection. It also allows us to easily enhance our applications with a data cache
of often queried but seldom modified data.We can create a DataSet at application
startup and populate it with DataTables that we can use to populate drop-down
boxes and list boxes in our application without having to access the database each
www.syngress.com
416
Chapter 9 • Using ADO.NET
time the list needs populating.Add some code to refresh the cache after an
update, and we have an in-memory database that we can use to ease the burden
on the database server.This is just one example of a use for maintaining state in
an application.ADO.NET makes this type of development exceptionally easy.
Using the XML Schema Definition Tool
We can use the XSD Schema Definition tool to create schema files used for XML
data validation. In the Beta2 version, it is command line only. Entering XSD.EXE
/? at the command prompt brings up a long list of options for creating XML
schemas.To get a simple schema definition, consider the following MyData.xml
example (see CD file Chapter 09/Chapter9 Beta2/Samples/XML/MyData.xml):
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Shippers>
<ShipperID>1</ShipperID>
<CompanyName>Speedy Express</CompanyName>
<Phone>(503) 555-9831</Phone>
</Shippers>
<Shippers>
<ShipperID>2</ShipperID>
<CompanyName>United Package</CompanyName>
<Phone>(503) 555-3199</Phone>
</Shippers>
<Shippers>
<ShipperID>3</ShipperID>
<CompanyName>Federal Shipping</CompanyName>
<Phone>(503) 555-9931</Phone>
</Shippers>
</NewDataSet>
Running the file through XSD.EXE results in this (see CD file Chapter 09/
Chapter9 Beta2/Samples/XML/MyData.xsd):
C:>xsd c:\MyData.xml
MyData.xsd
www.syngress.com
Using ADO.NET • Chapter 9
417
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="NewDataSet" targetNamespace="" xmlns=""
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="NewDataSet" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="Shippers">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ShipperID" type="xsd:string" _ 
minOccurs="0" />
<xsd:element name="CompanyName" type="xsd:string" _ 
minOccurs="0" />
<xsd:element name="Phone" type="xsd:string" 
minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
To specify our new XSD as the schema of choice for our fresh new XML
Document, we simply add this attribute to our original root tag:
<NewDataSet xmlns="x-schema:MyData.xsd">
ADO.NET uses the xsd file to implement the Strongly Typed DataSet later in
the chapter.Visual Studio.NET uses the xsd.exe to create this file and then adds it
to the assembly.
Connected Layer 
ADO.NET does not support connected data operations.You can, however, use
the older ADO and OLE DB libraries by converting them to .NET.This process
involves creating a .NET wrapper around the ADO libraries. Using this wrapper
www.syngress.com
Documents you may be interested
Documents you may be interested