Game Development Reference
store. Functionally, ADO.NET is an overhaul of ADO (ActiveX Data Objects) with
a continuation and extension of the key concepts.
Because of dependencies, overhead, or maintenance support, most games do not
have a database system to store information; tools used in content creation, how-
ever, especially those used for role-playing games, often store information about
game entities in a database for a variety of reasons. Technical designers using a
content tool connected to a database benefit from real-time changes that are
immediately in effect when another designer makes a change to the data. Imagine
if game entity information were stored in XML files that had to be versioned
somehow amongst all the technical designers so that everyone worked off the same
data. A centralized data store is the solution to this problem, and implementing
such a beast is very easy using ADO.NET.
In this chapter, I discuss the advantages of ADO.NET and cover the ADO.NET
object model. I then proceed into some simple vanilla examples of using some
components of ADO.NET, and finish off with an editor front-end for editing data-
base entries for potion items.
Advantages of ADO.NET
Perhaps the greatest glory of ADO.NET is its ability to access structured data from
a variety of diverse data sources, like Microsoft SQL Server, XML, and other data
sources that are exposed with OLE DB. Microsoft SQL Server and OLE DB do not
need much of an introduction, but the XML support is a real gem for ADO.NET.
Interoperability support is very strong, since all data in ADO.NET is transferred in
XML so that any platform can understand the data. This allows developers to sep-
arate data processing and the user interface onto separate servers, greatly improv-
ing performance and maintainability for systems where scalability is important.
In addition to the XML structure, ADO.NET also supports disconnected datasets
along with the typical client-server model, without retaining locks or connections
that consume limited system resources. Disconnected datasets also allow for user
growth without demanding many additional resources for the server. In addition
to disconnected datasets, ADO.NET also includes support for automatic connec-
Even though there is a learning curve, once you have grasped the concepts behind
ADO.NET, your overall development time will decrease, and you will produce
more bug-free code. Therefore, productivity gains can also be considered when
describing the advantages and benefits of ADO.NET.