按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
ing a set of
individual references。 This causes a mismatch; and trying to bind to the two technologies is difficult。
So when you are writing database code; you are trying to automate the fitting of a square peg into a round
hole。 You get many extremely creative ideas and results; but at the end of the day; you are still fitting a square
peg into a round hole。
The essence of the problem when dealing with sets of data in a programming language is how to
integrate the two。 There is light at the end of the tunnel; in the form of programming language alterations
such as LINQ。 LINQ will be discussed in the next chapter。
Accessing Relational Databases
Regardless of the database implementation that you use; a mon architecture is employed;
as illustrated in Figure 14…1。
…………………………………………………………Page 398……………………………………………………………
376 CH AP T E R 1 4 ■ L E A R N I N G A B OU T R E L A TI O N AL DA TA B AS E D AT A
Figure 14…1。 mon database architecture
Most relational database servers are separate applications that run on their own。 To interact
with a running relational database; the database vendor provides a database driver。 In ; a
database driver is a piece of proprietary code that talks to the relational database server; but
exposes its functionality using the ADO layer。
The ADO layer is a technology that abstracts the database client into a neutral set of
interfaces。 By itself; ADO does not implement any technologies; but it defines the inter
faces that a database needs to have implemented。 ADO is similar to the lighting manager
application introduced in Chapter 8; where specific lighting implementations need to imple
ment interfaces。
The ADO code can be accessed directly in your application by your code。 However;
doing that means accessing the individual rows; columns; and database tables。 It is not a difficult
undertaking; but it means you need to do everything manually。 With respect to the lottery
example; it means manipulating the lottery winners and the lottery draws tables。
Visual Basic Express and other Visual Studio editions have a number of tools that will
generate code that automatically binds to tables and rows; reducing the amount of work that you
need to do。 In Figure 14…1; the user code has arrows pointing to both the Visual Studio–generated
code and the ADO code。 These arrows indicate that your code does not need to use the
Visual Studio–generated code; it is optional。 But the advantage of using the Visual Studio code
is that it reduces the amount of grunt work that your code needs to do。 The Visual Studio–
generated code is a thin functional layer on top of the ADO code that maps directly to the
tables that you are manipulating。
When you are developing an application that accesses a relational database; you need to
consider the following issues:
ADO drivers : When you write ADO code; you will need an ADO driver for
each database。 Thus; if you wish to use MySQL; you will need a MySQL driver。 However;
for the most part; the code that you write in your application will remain identical; regard
less of which type of database you are using。
Abstraction : There will always be differences in the code used to access different relational
databases。 Be prepared to abstract your database code if you access the database directly
using ADO。
…………………………………………………………Page 399……………………………………………………………
C HA P TE R 1 4 ■ L E AR N I N G AB O U T R E L AT IO N A L D AT AB A SE D A TA 377
Designing a Database Using Visual Basic Express
Visual Basic Express is very helpful when designing and building database applications。 It provides
interface…based tools for designing the database; managing connections; and managing data
access。
With Visual Basic Express; you can directly integrate the ADO drivers for only Microsoft
SQL Server。 (This does not mean you cannot use a different ADO driver using code。) If you
want to use the GUI tools for a database driver other than for SQL Server; you will need to upgrade
your Visual Studio edition。 For this chapter’s examples; we’ll use the SQL Server Express Edition
driver (http://msdn。microsoft。/vstudio/express/sql/)。
You can add the GUI tool…based database support to any Visual Basic project type。 For this
chapter; we’ll use a console project called DatabaseConsoleEx。
After you have created the DatabaseConsoleEx console project in Visual Basic Express
(using the procedure outlined in Chapter 1); you can set up the database; and then add tables
to your new database。
Configuring the Data Source
Using the Visual Basic Express Data Source Configuration Wizard; you can add a database as
your data source; set up the database connection; and select database objects to include in the
project。 Follow these steps to use the wizard:
1。 Select Data Add New Data Source to start the Data Source Configuration Wizard。
2。 Choose Database as the data source and click Next。
3。 You’re asked to choose a data connection。 When choosing the data connection; you are
defining the connection settings to your relational database。 Since we are creating a
new database in this example; click the New Connection button。
4。 Choose Microsoft SQL Server Database File and click Continue。
5。 In the Add Connection dialog box; fill in the database file name。 For this example; enter
the name lot