SlideShare a Scribd company logo
Visit https://ebookultra.com to download the full version and
browse more ebooks or textbooks
Programming Microsoft SQL Server 2000 with
Microsoft Visual Basic NET 1st edition Edition
Rick Dobson
_____ Press the link below to begin your download _____
https://ebookultra.com/download/programming-microsoft-sql-
server-2000-with-microsoft-visual-basic-net-1st-edition-
edition-rick-dobson/
Access ebookultra.com now to download high-quality
ebooks or textbooks
Here are some recommended products for you. Click the link to
download, or explore more at ebookultra.com
Programming Microsoft Visual Basic NET Version 2003
Francesco Balena
https://ebookultra.com/download/programming-microsoft-visual-basic-
net-version-2003-francesco-balena/
Programming with Microsoft Visual Basic 2012 6th Edition
Diane Zak
https://ebookultra.com/download/programming-with-microsoft-visual-
basic-2012-6th-edition-diane-zak/
Microsoft SQL Server 2012 T SQL 1st Edition Tom Coffing
https://ebookultra.com/download/microsoft-sql-server-2012-t-sql-1st-
edition-tom-coffing/
Sams Teach Yourself Microsoft SQL Server 2000 in 21 Days
2nd Edition Richard Waymire
https://ebookultra.com/download/sams-teach-yourself-microsoft-sql-
server-2000-in-21-days-2nd-edition-richard-waymire/
Microsoft SQL Server 2008 Administration with Windows
PowerShell 1st Edition Ananthakumar Muthusamy
https://ebookultra.com/download/microsoft-sql-
server-2008-administration-with-windows-powershell-1st-edition-
ananthakumar-muthusamy/
Programming the Web with Visual Basic NET 1st Edition Lynn
Torkelson
https://ebookultra.com/download/programming-the-web-with-visual-basic-
net-1st-edition-lynn-torkelson/
Inside Microsoft SQL Server 2008 T SQL Querying 1st
Edition Itzik Ben-Gan
https://ebookultra.com/download/inside-microsoft-sql-
server-2008-t-sql-querying-1st-edition-itzik-ben-gan/
Mastering Microsoft Visual Basic 2008 Evangelos Petroutsos
https://ebookultra.com/download/mastering-microsoft-visual-
basic-2008-evangelos-petroutsos/
The Microsoft Data Warehouse Toolkit With SQL Server 2008
R2 and the Microsoft Business Intelligence Toolset 2nd
edition Edition Kimball
https://ebookultra.com/download/the-microsoft-data-warehouse-toolkit-
with-sql-server-2008-r2-and-the-microsoft-business-intelligence-
toolset-2nd-edition-edition-kimball/
Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edition Edition Rick Dobson
Programming Microsoft SQL Server 2000 with Microsoft
Visual Basic NET 1st edition Edition Rick Dobson Digital
Instant Download
Author(s): Rick Dobson, Paul Cornell
ISBN(s): 9780735615359, 0735615357
Edition: 1st edition
File Details: PDF, 10.60 MB
Year: 2002
Language: english
Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edition Edition Rick Dobson
Programming Microsoft® SQL Server™ 2000 with Microsoft Visual
Basic® .NET
Foreword
Acknowledgments
Introduction
Who’s the Book For?
What’s Special About This Book?
How’s the Book Organized?
System Requirem ents
Sample Files
Support
1. Getting Started with Visual Basic .NET for SQL Server 2000
Visual Studio .NET, the Visual Basic .NET IDE
An Overview of ADO.NET Capabilities
A Starter ADO.NET Sam ple
Using Query Analyzer
2. Tables and Data Types
Chapter Resources
Data Types for Tables
Scripting Tables
3. Program m ing Data Access with T-SQL
I ntroduction to Data Access with T-SQL
Aggregating and Grouping Rows
Processing Dates
Joins and Subqueries
4. Program m ing Views and Stored Procedures
I ntroduction to Views
Creating and Using Views
Views for Remote and Heterogeneous Sources
I ntroduction to Stored Procedures
Creating and Using Stored Procedures
Processing Stored Procedure Outputs
I nserting, Updating, and Deleting Rows
Programm ing Conditional Result Sets
5. Program m ing User-Defined Functions and Triggers
I ntroduction to User-Defined Functions
Creating and I nvoking Scalar UDFs
Creating and I nvoking Table-Valued UDFs
I ntroduction to Triggers
Creating and Managing Triggers
6. SQL Server 2000 XML Functionality
Overview of XML Support
XML Formats and Schemas
URL Access to SQL Server
Template Access to SQL Server
7. SQL Server 2000 Security
Overview of SQL Server Security
I ntroduction to Special Security I ssues
Samples for Logins and Users
Samples for Assigning Perm issions
8. Overview of the .NET Fram ework
An I ntroduction to the .NET Fram ework
An Overview of ASP.NET
XML Web Services
9. Creating Windows Applications
Getting Started with Windows Forms
Creating and Using Class References
I nheriting Classes
Programm ing Events
Exception Handling for Run-Tim e Errors
10. Programm ing Windows Solutions with ADO.NET
An Overview of ADO.NET Objects
Making Connections
Working with Command and DataReader Objects
DataAdapters , Data Sets, Forms, and Form Controls
Modifying, Inserting, and Deleting Rows
11. Programm ing ASP.NET Solutions
Review of ASP.NET Design I ssues
Creating and Running ASP.NET Solutions
Session State Management
Data on Web Pages
Validating the Data on a Web Page
12. Managing XML with Visual Basic .NET
SQL Server Web Releases
Overview of XML Technologies
Generating XML Documents with the .NET Framework
Dynam ically Setting an XML Result Set
The I nterplay Between XML and Data Sets
Creating HTML Pages with XSLT
13. Creating Solutions with XML Web Services
Overview of Web services
A Web Service to Return a Com puted Result
A Web Service to Return Values from Tables
The SQL Server 2000 Web Services Toolkit
More on Populating Controls with Web Services
About the Author
Forew ord
During m y five years at Microsoft, I ’ve been helping developers understand
technologies such as Microsoft Visual Studio, Microsoft SQL Server, and Microsoft
Office Developer. During the past two years, I have worked on the Microsoft
Office XP Visual Basic Language Reference, and now, the MSDN Office Developer
Center. I n the m onthly column on MSDN, Office Talk, I have written articles to
help Office developers understand the .NET platform and how it affects their
current and future development efforts.
As I write this foreword to Rick Dobson’s book on programm ing Microsoft SQL
Server solutions with Microsoft Visual Basic .NET, I think back to my own
experiences developing software applications with Visual Basic. My first
experience with Visual Basic was learning the language using version 3.0. I
rem ember picking up m y first Visual Basic beginner’s book and being excited as I
developed my first few “Hello, World” applications. I couldn’t believe how quick
and easy it was to develop software applications that operated sim ilarly to other
popular shareware program s of that tim e.
However, during that time I also discovered som e of the shortcom ings of Visual
Basic as an enterprise-level development language. It was then that I turned my
attention to C+ + . I rem ember being very frustrated at trying to learn the
language, trying to understand concepts such as pointers, m em ory allocation,
and true object-oriented programm ing. I took classes on C+ + at the local
university, but I got even m ore frustrated having to wait m onths until I was
taught how to create the sim plest Microsoft Windows form, something I did in
just a couple of m inutes using Visual Basic. I n my frustration, I gave up trying to
learn C+ + and have been using Visual Basic to develop software applications ever
since.
As each new version of Visual Basic was released, I readied myself to learn new
software developm ent technologies. First it was ActiveX control development.
Then it was calling the Windows API . Next it was DHTML Applications. Then it was
database developm ent using Microsoft SQL Server. I t always seem ed as though I
had to learn a new language and a new developm ent paradigm for every new
technology that came along. I kept thinking that there had to be an easier and
more unified approach.
Well, now we’ve reached the advent of the Microsoft .NET platform , and with it, a
revolution in the Visual Basic language, Microsoft Visual Basic .NET. I believe that
Visual Basic .NET will provide software developers with new opportunities for
quickly and easily designing integrated software applications that connect
businesses and individuals anytime, anywhere, and on virtually any software
device. With advances in the Visual Basic .NET language, Visual Basic .NET
developers will finally be on a par with their C+ + and C# counterparts,
participating in many high-end developm ent projects. With Visual Studio .NET
features such as cross-language debugging, along with Visual Basic .NET
conformance to the com mon type system and the com mon language runtime,
organizations can drive down their development costs by tapping into the wide
range of skills that Visual Basic .NET developers now possess.
True object-oriented programm ing is now available in Visual Basic .NET, including
features such as inheritance and m ethod overloading. I t’s now simpler to call the
Windows API by using the .NET Fram ework Class Libraries. Web application
developm ent is now as easy as developing Windows form s–based applications.
Database application developm ent is made easier by uniting disparate data object
libraries such as DAO, RDO, OLE DB, and ADO under ADO.NET, utilizing the
power of XML to consume and transm it relational data over com puter networks.
And a new technology, XML Web services, allows Visual Basic .NET developers to
host their software applications’ logic over the Web. Additionally, a big issue for
software developers today is that of software application deploym ent and
versioning. I f you don’t agree, just ask any software developer about “DLL hell,”
and you’re bound to get an earful. For m any .NET applications, the .NET platform
features “copy and paste” or XCOPY deploym ent. (Users simply copy your
application files from the source media to any single directory and run the
application.) And because .NET no longer relies on the registry, virtually all DLL
compatibility issues go away.
With this book, Rick aim s to give you the skills you need to program SQL Server
solutions with Visual Basic .NET. I know you will find Rick’s book helpful. Rick
brings his experience to bear from three previous books: Programm ing Microsoft
Access Version 2002 (Microsoft Press, 2001), Program m ing Microsoft Access 2000
(Microsoft Press, 1999), and Professional SQL Server Development with Access
2000 (Wrox Press I nc., 2000). Rick also brings his experience of leading a
successful nationwide sem inar tour. More important, I know you will enjoy Rick’s
book because of his deep interest in Visual Basic .NET and SQL Server, and in
helping you, the professional developer, understand and apply these technologies
in your daily software application developm ent projects.
Paul Cornell MSDN Office Developer Center
http: / / msdn.m icrosoft.com/ officeMicrosoft Corporation February 2002
Acknow ledgm ents
This section offers me a chance to say thank you to all who helped make this
book possible. I wish to offer special recognition to five support resources.
First, the folks at Microsoft Press have been fantastic. Dave Clark, an acquisitions
editor, selected me to write the book just months after I completed another book
for Microsoft Press. Dick Brown, m y project editor, staunchly stood up for his
perception of how to m ake the book’s organization and content clear to you
without being petty or boring to m e. Dick also lightened my load substantially by
showing a real knack for editing my text without distorting the original intent.
When Dick was especially busy, he handed off some of his load to Jean Ross, who
also did an adm irable job. Others at Microsoft Press who contributed to my well-
being in one way or another include Aaron Lavin and Anne Hamilton.
Second, I had excellent working relations with several professionals within
Microsoft. Paul Cornell, a widely known technical editor at Microsoft, was kind
enough to share his insights on how to present .NET concepts compellingly. I
want to thank Paul especially for writing the Foreword to this book. Karthik
Ravindran served as the MSXML Beta Product Lead Engineer at Microsoft Product
Support Services during the time that I wrote this book. He provided valuable
technical content about the SQL Server 2000 Web releases. Other Microsoft
representatives providing moral and technical support for this book include
Richard Waym ire and Jan Shanahan.
Third, I want to express m y appreciation to the many readers, sem inar
attendees, and site visitors who took the time to tell m e what I did right or wrong
for them, and also to those who shared their technical support questions with me.
It is through this kind of feedback that I am able to know what’s important to
practicing developers. I encourage you to visit my m ain Web site
(http: / / www.programm ingmsaccess.com) and sign the guest book. The entry
form includes space for you to leave your evaluation of this book or your question
about a topic covered in the book. I prom ise to do my best to reply personally. I n
any event, I definitely read all m essages and use them so that I can serve you
better with future editions of this, and other, books.
Fourth, I want to tell the world how grateful I am to my wife, Virginia. Without
Virginia’s warm support, love, and care, this book would be less professional. She
relieves m e of nearly every responsibility around the house when I undertake a
book project. In addition, she offers strategic advice on the issues to address and
their style of coverage. When I run out of tim e, she even pitches in with the
proofreading.
Fifth, it is important for me to give praise and glory to my Lord and Savior, Jesus
Christ, who I believe gave m e the strength and wisdom to write this book. I n
addition, He gave m e health during the long gestation period that resulted in the
birth of this book. I t is my prayer that the book prove to be a blessing to you.
I ntroduction
Anyone who buys a book—or considers buying it—wants to know who the book is
for, what sets it apart from others like it, and how the book is organized. This
introduction covers those three questions, and it also discusses system
requirem ents, sample files, and support.
• First, w ho is the book for? There are at least two answers to this
question. One answer is that the book targets professional developers
(and others aspiring to be professional developers). The second group the
book addresses is those who want to build full-featured, secure SQL
Server solutions with Visual Basic .NET.
• Second, w hat’s special about the book? I hope you com e to believe
that the m ost important answer to this question is that the book
considered quality and depth of coverage more important than rushing to
market. The book will arrive on bookshelves m ore than three months after
the official release of the .NET Framework. I t is my wish that you derive
value from the extra time taken to develop the m any code samples and
the in-depth discussions of advanced topics, such as class inheritance,
ASP.NET, and XML Web services.
• Third, how is the book organized? The short answer is that there are
two main sections. One section introduces SQL Server concepts as it
dem onstrates T-SQL (Transact SQL) programming techniques. After
conveying SQL Server basic building blocks in the first part, the second
part reveals how to put those parts together with Visual Basic .NET and
related technologies into SQL Server solutions for handling common
database chores.
The three support item s include a brief description of the book’s companion CD
and how to use it, Microsoft Press Support I nformation for this book, and a
summary of system and software requirem ents for the sample code presented in
the book.
W ho’s the Book For?
This book targets professional Visual Basic and Visual Basic for Applications
developers. From my seminar tours and Web sites
(http: / / www.programm ingmsaccess.com and http: / / www.cabinc.net), I know
that these professionals are driven by a passion to deliver solutions to their
clients through applying the m ost innovative technologies their clients will accept.
In-house developers are the go-to persons for getting results fast— particularly for
custom in-house systems and databases. I ndependent developers specialize in
serving niche situations that can include under-served business needs and work
overflows. I n both cases, these professionals need training m aterials that address
practical business requirem ents while showcasing innovative technologies without
wasting their tim e. This book strives to serve this broad need in two specific
areas.
This book is for developers looking for code samples and step-by-step instructions
for building SQL Server 2000 solutions with Visual Basic .NET. The book focuses
on the integration of SQL Server 2000 with .NET technologies tapped via Visual
Basic .NET. I t is my firm belief that you cannot create great SQL Server solutions
in any programm ing language without knowing SQL Server. Therefore, this book
goes beyond traditional coverage of SQL Server for Visual Basic developers. You’ll
learn T-SQL program m ing techniques for data access, data manipulation, and
data definition. A whole chapter equips you to secure your SQL Server solutions.
In addition, there’s plenty of content in this book on Visual Basic .NET and related
technologies, such as ADO.NET, ASP.NET, XML (Extensible Markup Language),
and XML Web services. The presentation of these technologies demonstrates
coding techniques and explores concepts that equip you to build better solutions
with SQL Server 2000 databases. I n addition, the book highlights innovations
introduced through the Web releases for SQL Server 2000 that integrate SQL
Server 2000 tightly with Visual Basic .NET.
This isn’t a book about XML, but three of the book’s 13 chapters focus in whole or
in part on XML. Therefore, those seeking practical dem onstrations of how to use
XML with SQL Server and Visual Basic .NET will derive value from this book. I f
you have looked at any of the computer magazines over the past couple of years,
you know that XML is coming to a solution near you. However, the rapid pace of
XML innovation m ay have dissuaded som e from jum ping on the bandwagon while
they wait to see what’s going to last and what’s just a fad. I n the book’s three
chapters on XML technology, you’ll learn about XML documents, fragm ents, and
formatting as well as related technologies, such as XPath (XML Path Language)
queries, XSLT (Extensible Stylesheet Language Transformation), and WSDL (Web
Services Description Language).
W hat’s Special About This Book?
There are several features that make this book stand apart from the flood of
books on .NET. One of the m ost important of these is that this book didn’t rush to
market but rather shipped m onths after the release of the .NET Framework. This
allowed me enough tim e to filter, exam ine, and uncover what were the m ost
useful and innovative features for Visual Basic .NET developers building SQL
Server solutions. For example, the book includes a whole chapter on creating
solutions with XML Web services. That chapter includes two major sections on the
SQL Server 2000 Web Services Toolkit, which didn’t ship until the day of the .NET
Framework release.
The .NET Framework content is at a professional level, but it isn’t just for techies.
This book doesn’t assume any prior knowledge of the .NET Framework. I t does
assume that you get paid for building solutions programmatically and that at least
some of those solutions are for SQL Server databases. Therefore, the book
explains basic .NET concepts and dem onstrates how to achieve practical results
with those concepts through a huge collection of .NET code samples.
This book is about building solutions for SQL Server 2000. I include coverage of
the many special features that tie Visual Basic .NET and SQL Server 2000 closely
to one another. Although there is coverage of general .NET database techniques,
this book dives deeply into T-SQL programm ing techniques so that you can create
your own custom database objects, such as tables, stored procedures, views,
triggers, and user-defined functions. I n addition, there is separate coverage of
the XML features released with SQL Server 2000 as well as separate coverage of
the XML features in the first three Web releases that shipped for SQL Server
2000. There are num erous code samples throughout the book. These will equip
you to build solutions with Visual Basic .NET, T-SQL, and combinations of the two.
Finally, this book is special because of the unique experiences of its author, Rick
Dobson. I have trained professional developers in Australia, England, Canada,
and throughout the United States. This is my fourth book in four years, and you
can find my articles in popular publications and Web sites, such as SQL Server
Magazine and MSDN Online. As a Webmaster, my main site
(http: / / www.programm ingmsaccess.com) serves hundreds of thousands of
sessions to developers each year. I constantly exam ine their viewing habits at the
site to determ ine what interests them. I n addition, my site features scores of
answers to technical support questions subm itted by professional developers. My
goal in offering answers to these questions is to stay in touch with practicing
developers worldwide so that my new books address the needs of practicing,
professional developers.
How ’s the Book Organized?
There are two main parts to this book tied together by an introductory part. Part
II , the first main part, dwells on SQL Server techniques. Part I II builds on the
SQL Server background as it lays a firm foundation in .NET techniques for Visual
Basic .NET developers. Part I, the introductory part, demonstrates ways to use
SQL Server and Visual Basic .NET together.
Part I , I ntroduction
Part I , which includes only Chapter 1, has three main goals. First, it acquaints you
with the basics of Visual Basic .NET within Visual Studio .NET. You can think of
Visual Basic .NET as a major upgrade to the Visual Basic 5 or 6 that you are
probably using currently. This first section introduces some concepts that you will
find useful as you initially learn the landscape of Visual Basic .NET. The second
goal of Chapter 1 is to introduce ADO.NET. I f you think of Visual Basic .NET as a
major upgrade to Visual Basic 6, ADO.NET is m ore like a major overhaul of ADO.
In two sections, you get an introduction to ADO.NET classes— particularly as they
relate to SQL Server— and you get a chance to see a couple of beginner sam ples
of how to create SQL Server solutions with Visual Basic .NET and ADO.NET. The
third goal of the introductory part is to expose you to Query Analyzer. This is a
SQL Server client tool that ships with all comm ercial editions of SQL Server 2000.
You can think of it as an IDE for T-SQL code. Most of the book’s first part relies
heavily on T-SQL, and therefore having a convenient environment for debugging
and running T-SQL code is helpful. The final section of Chapter 1 addresses this
goal.
Part I I , SQL Server
Part I I consists of six relatively short chapters that focus substantially on
programm ing SQL Server 2000 with T-SQL. Chapter 2 and Chapter 3 introduce T-
SQL and SQL Server data types. I f you are going to program SQL Server and
create efficient, fast solutions, you m ust learn SQL Server data types, which is
one of the main points conveyed by Chapter 2. Many readers will gravitate to
Chapter 3 because it introduces core T-SQL program m ing techniques for data
access. You’ll apply the techniques covered in this chapter often as you select
subsets of rows and colum ns in data sources, group and aggregate rows from a
table, process dates, and join data from two or more tables. Chapter 3 also
considers special data access topics, such as outer joins, self joins and
subqueries.
The next pair of chapters in Part I I , Chapter 4 and Chapter 5, take a look at
programm ing database objects that you will use for data access and data
manipulation, such as views, stored procedures, user-defined functions, and
triggers. These database objects are im portant for many reasons, but one of the
most important is that they bundle T-SQL statements for their easy reuse. I t is
widely known that the best code is the code that you don’t have to write.
However, if you do have to write code, you should definitely write it just onc, and
then reuse it whenever you need its functionality. Stored procedures are
particularly desirable database objects because they save compiled T-SQL
statements that can deliver significant speed advantages over resubm itting the
same T-SQL statement for compilation each tim e you want to perform a data
access or data manipulation task. Chapter 4 and Chapter 5 are also important
because they convey T-SQL syntax for using parameters and conditional logic
that support dynam ic run-tim e behavior and user interactivity.
One of the m ost important features of SQL Server 2000 is its XML functionality.
Because XML as a topic is changing so rapidly, Microsoft adopted a strategy of
upgrading the SQL Server 2000 XML functionality through Web releases. Although
those with SQL Server 2000 can download the Web releases without charge from
the Microsoft Web site, the Web releases are fully supported. Chapter 6
introduces core XML functionality introduced with SQL Server 2000 as well as
functionality from the first two Web releases. I n particular, you can learn in this
chapter about I IS virtual directories as well as form ats for XML docum ents and
schemas. You also learn about templates in virtual directories that facilitate data
access and data manipulation tasks over the Web.
Chapter 7 closes out the SQL Server part of the book with an in-depth look at
programm ing SQL Server security. I n these tim es, security has grown into a
monum ental topic, and this chapter can keep you out of trouble by blocking
hackers from getting into or corrupting your database. You learn such topics as
how to create and manage different types of login and user accounts and how to
control the perm issions available to individual accounts as well as groups of
accounts. By learning how to script accounts and perm issions with T-SQL, you
simplify revising and updating security as conditions change (for exam ple, when
users leave the company or when new, sensitive data gets added to a table).
Part I I I , .NET
Chapter 8 starts the .NET part of the book with a review of selected .NET topics
that are covered in the initial look Chapter 1 offered at the .NET Fram ework. This
chapter provides an overview of the architecture for .NET solutions, and it drills
down on two topics: ASP.NET and XML Web services. The general purpose of this
chapter is the same as Chapter 1, which is to introduce concepts. The emphasis
in Chapter 8 isn’t how you do som ething, but rather what are the major
technologies enabling you to do som ething. Chapter 1 and Chapter 8 are both
relatively short chapters, but you may find them invaluable if you are the kind of
person who benefits from high-level overviews of a collection of topics.
Chapter 9 starts with a close exam ination of how to use Windows Form s with
Visual Basic .NET. I t then shifts its focus to a review of traditional class
processing concepts via Visual Basic .NET as an introduction to class inheritance,
a new object-oriented feature that makes its first appearance in Visual Basic with
Visual Basic .NET. Next the treatm ent of classes progresses to the handling of
built-in events as well as the raising of custom events. Finally the chapter closes
with an exam ination of the new exception handling techniques for processing run-
time errors.
Chapter 10 is a how-to guide for solutions to typical problems with ADO.NET.
Before launching into its progression of sam ples showing how to perform all kinds
of tasks, the chapter starts with an overview of the ADO.NET object m odel that
covers the main objects along with selected properties and m ethods for each
object. The how-to guide focuses on data access tasks, such as selecting rows
and columns from SQL Server database objects, as well as data manipulation
tasks, such as inserting, updating, and deleting rows in a table. Working through
the samples in the how-to guide offers a hands-on feel for using the
System .Data.SqlClient namespace elem ents to perform typical tasks.
Chapter 11 switches the focus to the Web by addressing the creation and use of
ASP.NET solutions. This chapter starts by introducing basic elem ents that you
need to know in order to use ASP.NET to create great Web solutions with Visual
Basic .NET. These include learning what happens as a page does a round-trip
from a browser to a Web server and back to the browser— particularly for data
associated with the page. Other prelim inary topics that equip you for building
professional Web solutions include running the same page in m ultiple browser
types and sniffing the browser for cases in which you want to send a page
optim ized for a specific kind of browser type. Managem ent of session state is a
major topic in the chapter, and you learn how to use enhancem ents to Session
variables for Web farms as well as the new view state variables, a non-server-
based technique for managing state in ASP.NET solutions. The last two sections in
the chapter deal with ADO.NET topics in ASP.NET solutions and the new
autom atic data validation features built right into ASP.NET.
The last two chapters in the book explore how XML interplays with Visual Studio
.NET and SQL Server 2000. For example, Chapter 12 exam ines special tools in
Visual Studio .NET to facilitate the design and editing of XML docum ents and
schemas. I n addition, you learn how to designate XPath queries that accept run-
time input for returning SQL Server result sets inside Visual Basic .NET programs.
The chapter dem onstrates techniques for processing the XML document
associated with all ADO.NET data set objects. I n the chapter’s last section, I
present a couple of code sam ples that illustrate how to program static HTML
pages based on XML documents with XSLT.
Chapter 13 drills down on XML Web services by dem onstrating several different
approaches for creating Web services as well as consum ing XML output from Web
services. Web services behave somewhat like COM objects in that you can set up
server applications for client applications. The server applications expose m ethods
to which the client applications can pass param eters. XML comes into play with
Web services in a couple of areas. First, Web services represent their inputs and
outputs via WSDL, an XML-based language that form ally describes an XML Web
service. Second, Web services return data to their clients as XML documents or
document fragm ents.
System Requirem ents
The requirem ents for this book vary by chapter. I developed and tested all
samples throughout this book on a com puter equipped with Windows 2000
Server, SQL Server Enterprise Edition, and the Enterprise Developer Edition of
Visual Studio .NET, which includes Visual Basic .NET. To use this book, you’ll need
to have Visual Basic .NET or Visual Studio .NET installed on your computer. (See
Chapter 1 for m ore information on versions of Visual Basic .NET and Visual Studio
.NET.) I n addition, you’ll need SQL Server 2000, and for som e of the chapters,
you’ll need SQL Server 2000 updated with Web releases 1, 2, and 3. Chapter 6
gives the URLs for downloading Web releases 1 and 2. Chapter 12 gives two
different URLs for downloading Web Release 3— one with the SQL Server 2000
Web Services Toolkit and the other without it.
For selected chapters, you can run the samples with less software or different
operating systems than the one that I used. For example, chapters 2 through 5
will run on any operating system that supports a comm ercial version of SQL
Server 2000, such as Windows 98 or a m ore recent Windows operating system.
Chapter 7 requires an operating system that supports Windows NT security, such
as Windows 2000 or Windows XP Professional. Chapter 6, Chapter 11, and
Chapter 13 require Microsoft I nternet Inform ation Services (I I S). I n addition,
Chapter 6 requires the installation of Web releases 1 and 2. For Chapter 11, your
system needs to m eet the m inim um requirem ents for ASP.NET. (See a note in the
“How Does ASP.NET Relate to ASP?” section of Chapter 8.) Several of the
samples in Chapter 1 3 require Web Release 3 and its associated SQL Server
2000 Web Services Toolkit.
Sam ple Files
Sample files for this book can be found at the Microsoft Press Web site, at
http: / / www.m icrosoft.com/ m spress/ books/ 5792.asp. Clicking the Com panion
Content link takes you to a page from which you can download the sam ples.
Supplem ental content files for this book can also be found on the book’s
companion CD. To access those files, insert the companion CD into your
computer’s CD-ROM drive and make a selection from the menu that appears. I f
the AutoRun feature isn’t enabled on your system (if a m enu doesn’t appear when
you insert the disc in your computer’s CD-ROM drive), run StartCD.exe in the root
folder of the com panion CD. I nstalling the sam ple files on your hard disk requires
approximately 15.3 MB of disk space. I f you have trouble running any of these
files, refer to the text in the book that describes these programs.
Aside from the sample files that this book discusses, the book’s supplem ental
content includes a stand-alone eBook installation that will allow you to access an
electronic version of the print book directly from your desktop.
Support
Every effort has been m ade to ensure the accuracy of this book and the contents
of the companion CD. Microsoft Press provides corrections for books through the
World Wide Web at the following address:
http: / / www.m icrosoft.com/ m spress/ support
To connect directly to the Microsoft Press Knowledge Base and enter a query
regarding a question or an issue that you may have, go to:
http: / / www.m icrosoft.com/ m spress/ support/ search.asp
If you have comments, questions, or ideas regarding this book or the companion
content, or questions that are not answered by querying the Knowledge Base,
please send them to Microsoft Press via e-mail to:
mspinput@m icrosoft.com
Or via postal mail to:
Microsoft Press Attn: Programm ing Microsoft SQL Server 2000 with Microsoft
Visual Basic .NET Editor One Microsoft Way Redm ond, WA 98052-6399
Please note that product support is not offered through the above mail address.
For product support information, please visit the Microsoft Support Web site at:
http: / / support.m icrosoft.com
Chapter 1. Getting Started w ith Visual
Basic .NET for SQL Server 2 00 0
This book aims to give professional developers the background that they need to
program SQL Server applications with Microsoft Visual Basic .NET. This overall
goal implies three guidelines:
• First, the book targets practicing developers. I n my experience, these are
busy professionals who need the details fast. These individuals already
know how to build applications. They buy a book to learn how to build
those applications with a specific set of tools.
• Second, the book is about building applications for SQL Server 2000. This
focus justifies in-depth coverage of SQL Server program m ing topics— in
particular, T-SQL, Microsoft’s extension of the Structured Query Language
(SQL).
• Third, the book illustrates how to program in Visual Basic .NET, but with
particular emphasis on database issues for SQL Server 2000. Special
attention goes to related .NET technologies, such as the .NET Fram ework,
ADO.NET, ASP.NET, and XML Web services.
My goal in this chapter is to equip you conceptually for the rest of the book.
Therefore, this chapter includes material that acquaints you with application
developm ent techniques and topics for SQL Server 2000 and Visual Basic .NET.
The discussion of the samples in this chapter generally aim s to convey broad
approaches instead of how to run the sample. All the remaining chapters except
for Chapter 8, another conceptual chapter, have sam ples with instructions aim ed
at professional developers.
I believe that the overwhelm ing majority of professional Visual Basic developers
have no hands-on fam iliarity with Visual Basic .NET and its related technologies.
If you already knew Visual Basic .NET, it wouldn’t make any sense to buy a book
describing how to use it. This chapter therefore focuses on how to get started
with Visual Basic .NET and one of its core related technologies for those building
SQL Server applications— ADO.NET. I also believe that m ost Visual Basic
developers don’t have an intimate knowledge of SQL Server— especially for
creating user-defined objects, such as tables, views, and stored procedures. This
capability can em power you to build m ore powerful and more secure applications.
As you learn about database objects and how to create them in Chapter 2
through Chapter 7, reflect back on the Visual Basic .NET coverage in this chapter
and how to marry database creation techniques and Visual Basic .NET
developm ent techniques. One of the best tools to build database objects is SQL
Server 2000 Query Analyzer. This chapter’s closing section conveys the basics of
Query Analyzer that you need to follow the sam ples in Chapter 2 through Chapter
7.
Visual Studio .NET, the Visual Basic .NET I DE
Visual Studio .NET is the new m ultilanguage integrated developm ent environm ent
(I DE) for Visual Basic, C# , C+ + , and JScript developers. I f you are developing
solutions for Visual Basic .NET, I definitely recom mend that you use Visual Studio
.NET as your developm ent environm ent. This section dem onstrates how to get
started using Visual Studio .NET for developing solutions with Visual Basic .NET.
Visual Basic .NET is available as part of Visual Studio .NET in four editions:
• Professional
• Enterprise Developer
• Enterprise Architect
• Academ ic
All four editions of Visual Studio .NET include Visual Basic .NET, Microsoft Visual
C# .NET, Microsoft Visual C+ + .NET, and support for other languages. I n
addition, Microsoft offers Visual Basic .NET Standard, which doesn’t include Visual
C# .NET or Visual C+ + .NET.
Because this book targets professional Visual Basic developers creating SQL
Server applications, it uses the Enterprise Developer Edition of Visual Studio
.NET. You may notice some differences if you’re using another edition.
Visual Studio .NET can be installed on computers running one of five operating
system s: Windows 2000, Windows NT, Windows XP, Windows ME, and Windows
98. Not all the .NET Framework features are available for each operating system.
For example, Windows 98, Windows Me, and Windows NT don’t support
developing ASP.NET Web applications or XML Web services applications. The
samples for this book are tested on a computer running Windows 2000 Server,
which does support all .NET Fram ework features.
Starting Visual Studio .NET
To open Visual Studio .NET, click the Start button on the Windows taskbar,
choose Programs, and then choose Microsoft Visual Studio .NET. Visual Studio
displays its integrated developm ent environm ent, including the Start Page (unless
you previously configured Visual Studio to open differently). From the Start Page,
you can configure Visual Studio to work according to your developm ent
preferences, and you can start new solutions as well as open existing projects.
Configuring Visual Studio .NET for Visual Basic .NET
Use the links on the left side of the Start Page to begin configuring Visual Studio
.NET for developing solutions in Visual Basic .NET. Click the My Profile link to
open a pane in which you can specify an overall profile as well as individually
indicate your preferences for Keyboard Schem e, Window Layout, and Help Filter.
You also can designate the initial page that Visual Basic .NET displays. When you
are beginning, it m ay be particularly convenient to choose Show Start Page. As a
Visual Basic developer who has worked with Visual Basic 6, you m ight feel m ost
familiar with a layout that reflects your prior developm ent environm ent. Figure 1-
1 shows these My Profile selections.
Figure 1 -1 . My Profile selections for starting Visual Studio .NET for a
Visual Basic developer.
Using the Start Page
After setting your profile, you can return to the initial Start Page pane by
choosing the Get Started link from the menu on the left border. I f you had
created previous solutions, the last four m odified projects would appear on the
Projects tab of the Start Page. The tab shows project nam es along with date last
modified. I f a project you want to view doesn’t appear on the list, you can click
the Open Project link to display the Open Project dialog box and then navigate to
a directory containing the previously created solution. Select the project’s folder
that you want to open in the I DE, and double-click the solution file (.sln) for the
project. The next section illustrates this process in the context of a sample
project.
To create a new solution, click the New Project link to open the New Project
dialog box. I f you saved preferences such as those shown in Figure 1-1, the
dialog will automatically select Visual Basic Projects in the Project Types pane of
the New Project dialog box. On the right, you can select a template for launching
a project. Table 1-1 shows the project template nam es along with a brief
description available from the Enterprise Developer Edition of Visual Studio .NET.
Choosing a template (by clicking OK after selecting a template) opens a project
ready for creating the type of solution that you want to develop. When Visual
Studio .NET saves the tem plate to start a new project, it specifies either a file
folder or a Web site for the template’s files; you can override the default nam es
for the file folder and Web site.
Exploring the Variety of Random
Documents with Different Content
CHAPTER XIV.
The hurry and confusion of the battle was over; order was greatly
restored; and the victorious army had encamped on the banks of the
river, when Philip Augustus retired to his own tent; and, after having
been disarmed by his attendants, commanded that they should leave
him alone for an hour. No one was permitted to approach; and the
monarch sat down to meditate over the vast and mighty deed he
had accomplished.
Oh, what a whirlpool of contending feelings must have been
within his bosom at that moment! Policy, triumph, ambition, hate,
revenge, and love, each claimed their place in his heart.
The recollection of the difficulties he had overcome; the fresh
memory of the agitating day in which he had overcome them; the
glorious prospects yet to come--the past, the present, and the
future, raised their voices together, and, with a sound like thunder,
called to him, "Rejoice!"
But Philip Augustus sat with his hands clasped over his eyes, in
deep and even melancholy thought. A feeling of his mortality
mingled, he knew not why or how, even with the exultation of his
victory. To his mind's eye, a shadow, as if from the tomb, was cast
over the banner of his triumph. A feeling of man's transitory
littleness,--a yearning after some more substantial glory, chastened
the pride of the conqueror; and, bending the knee before Heaven's
throne, he prayed fervently to the Giver of all victory.
After long, deep thought, he recalled his attendants; received
several messengers that had come on from Lille; and, ordering the
hangings of his tent to be drawn up, he commanded the various
chieftains who had distinguished themselves in that day's conflict to
be called around him.
It was a beautiful summer evening; and the rays of the declining
sun shone over the field of battle, into the tent of the victor, as he
sat surrounded by all the pomp of royalty, receiving the greatest and
noblest of his land. For each he had some gratulatory word, some
mention of their deeds, some praise of their exertions; and there
was a tempered moderation in his smile, a calm, grave dignity of
aspect, that relieved his greater barons from the fears which even
they, who had aided to win it, could not help feeling, respecting the
height to which such a victory might carry his ambition. There was
not a touch of pride in his deportment--no, not even of the humility
with which pride is sometimes fond to deck itself. It was evident that
he knew he had won a great battle, and rejoiced--that he had
vanquished his enemies--that he had conquered a confederated
world;--but yet he never felt himself more mortal, or less fancied
himself kindred to a god. He had triumphed in anticipation--the
arrogance of victory had exhausted itself in expectation; and he
found it not so great a thing to have overcome an universe as he
had expected.
"Thanks, brave Burgundy! thanks!" cried he, grasping the hand of
the duke, as he approached him. "We have won a great triumph;
and Burgundy has fully done his part. By my faith! Lord Bishop of
Beauvais, thy mace is as good a weapon as thy crosier. I trust thou
mayest often find texts in Scripture to justify thy so smiting the
king's enemies."
"I spill no blood, sire," replied the warlike bishop: "to knock on
the head, is not to spill blood, let it be remarked."
"We have, at all events, with thine aid, my Lord of Beauvais," said
the king, smiling at the prelate's nice distinction,--"we have, at all
events, knocked on the head a great and foul confederation against
our peace and liberties.--Ha! my young Lord of Champagne! Valiantly
hast thou won thy knighthood.--Guillaume des Barres, thou art a
better knight than any of the round table; and to mend thy
cellarage, I give thee five hundred acres in my valley of Soissons.
And Pierre de Dreux, too, art thou, for once in thy life, satisfied with
hard blows? De Coucy, my noble De Coucy! to whom I did some
wrong before the battle. As thou hast said thyself, De Coucy, God
send me ever such traitors as thou art! However, I have news for
thee, will make thee amends for one hard word. Welcome, St.
Valery!--as welcome as when you came to my succour this fair
morning. Now, lords, we will see the prisoners--not to triumph over
them, but that they may know their fate."
According to the king's commands, the several prisoners of high
rank, who had been taken that morning, were now brought before
him; a part of the ceremony to which even his own barons looked
with some doubt and anxiety, as well as the captives themselves; for,
amongst those who had fought on the other side, were many who
were not only traitors to the king, inasmuch as violating their oath of
homage rendered them so--but traitors under circumstances of high
aggravation, after repeated pardon and many a personal favour; yet
who were also linked, by the nearest ties of kindred, to those in
whose presence they now stood as prisoners. The first that
appeared was the Earl of Salisbury, who, in the fear caused by the
number of prisoners, had been bound with strong cords, and was
still in that condition when brought before the king.
"I am sorry to see you here, William of Salisbury," said Philip
frankly. "But why those cords upon your hands? Who has dared, so
unworthily, to bind a noble knight? Off with them! quick! Will you not
yield yourself a true prisoner?
"With all my heart, sir king," replied the earl, "since I may no
better. The knaves tied me, I fancy, lest the prisoners should eat up
their conquerors. But, by my faith! had the cowardly scum who have
run from the field, but fought like even your gownsmen, we should
have won few prisoners, but some glory."
"For form's sake, we must have some one to be hostage for your
faith," said the king, "and then good knight, you shall have as much
liberty as a prisoner may.--Who will be William of Salisbury's surety?"
"That will I," said De Coucy, stepping forward. "In life and lands,
though I have but little of the last."
"Thank thee, old friend," said the earl, grasping his hand. "We
fought in different parts of the field, or we would have tried some of
our old blows; but 'tis well as it is, though 'twas a bishop, they tell
me, knocked me on the head. I saw him not, in faith, or I would
have split his mitre for his pains."
Prisoner after prisoner was now brought before the king, to most
of whom he spoke in a tone to allay their fears. On Ferrand of
Flanders, however, he bent his brows, strongly moved with
indignation, when he remembered the presumptuous vaunting of
that vain light prince, who had boasted that, within a month, he
would ride triumphant into Paris.
"Now, rebellious vassal," said the monarch with severe dignity of
aspect, "what fate does thy treason deserve? Snake, thou hast stung
us for fostering thee in our bosom, and the pleasures of Paris,
shown to thee in the hospitality of our court, have made thee covet
the heritage of thy lord. As thou hast boasted, so shall it befall thee;
and thou shalt ride in triumph into our capital; but, by heaven's
queen! it shall not be to sport with jugglers and courtesans!"
Ferrand turned deadly pale, in his already excited fears,
misconstruing the king's words. "I hope, my lord," said he, "that you
will think well before you strike at my life. Remember, I am but your
vassal for these lands of Flanders, in right of my wife--that I am the
son of an independent monarch, and my life may not----"
"Thy life!" cried Philip, his lip curling with scorn,--"Fear not for thy
pitiful life! Get thee gone! I butcher not my prisoners; but, by the
Lord! I will take good care that ye rebel not again! Now, Renault of
Boulogne," he continued, turning to the gigantic count of Boulogne,
who, of all the confederates, had fought the longest and most
desperately, entertaining no hope of life if taken, both from being
one of the chief instigators of the confederacy, and from many an
old score of rebellion not yet wiped off between himself and the
king. He appeared before the monarch, however, with a frank smile
upon his jovial countenance, as if prepared to endure with good
humour the worst that could befall; and seeing that, as a kind of
trophy, one of the pages bore in his enormous casque, on the crest
of which he had worn two of the broad blades of whalebone, near
six feet high, he turned laughing to those around, while the king
spoke to Ferrand of Flanders--"Good faith," said he, "I thought
myself a leviathan, but they have managed to catch me
notwithstanding."
"Now, Renault of Boulogne," said the king sternly--"how often
have I pardoned thee--canst thou tell?"
"Faith, my lord!" replied the count, "I never was good at
reckoning; but this I do know, that you have granted me my life
oftener than I either deserved or expected, though I cannot
calculate justly how often."
"When you do calculate, then," said Philip, "add another time to
the list; but, remember, by the bones of all the saints! it is the last!"
"Faith! my lord, you shall not break their bones for me," replied
the count. "For I have made a resolution to be your good vassal for
the future; and, as my good friend Count Julian of the Mount says,
my resolutions are as immoveable as the centre."
"Ha, Count Julian!" said the king. "You are welcome, fair count;
and, by Heaven, we have a mind to deal hardly with you. You have
been a comer and goer, sir, in all these errands. You have been one
of the chief stirrers-up of my vassals against me; and by the Lord! if
block and axe were ever well won, you have worked for them.
However, here stands sir Guy de Coucy, true knight, and the king's
friend; give him the hand of your daughter, his lady-love, and you
save your head upon your shoulders."
"My lord, it cannot be," replied old sir Julian stoutly. "I have
already given the knight his answer. What I have said, is said--my
resolutions are as immoveable as the centre, and I'd sooner
encounter the axe than break them."
"Then, by Heaven! the axe shall be your doom!" cried Philip,
giving way to one of his quick bursts of passion, at the bold and
obstinate tone in which his rebellious vassal dared to address him.
"Away with him to the block! and know, old mover of rebellions, that
your lands and lordships, and your daughter's hand, I, as your
sovereign lord, will give to this brave knight, after you have suffered
the punishment of your treason and your obstinacy."
Sir Julian's cheek turned somewhat pale, and his eye twinkled;
but he merely bit his lip; and, firm in his impenetrable obstinacy,
offered no word to turn aside the monarch's wrath. De Coucy,
however, stepped forward, and prayed the king, as sir Julian had
been taken by his own men, to give him over to him, when he
doubted not he would be able to bring him to reason.
"Take him then, De Coucy," said Philip; "I give you power to make
what terms with him you like; but before he quits this presence, he
consents to his daughter's marriage with you, or he quits it for the
block. Let us hear how you will convert him."
"What I have said, is said!" muttered sir Julian,--"my resolutions
are as immoveable as the centre!"
"Sir Julian," said De Coucy, standing forward before the circle,
while the prisoner made up his face to a look of sturdy obstinacy,
that would have done honour to an old, well-seasoned mule, "you
told me once, that I might claim your daughter's hand, if ever--
Guillaume de la Roche Guyon, to whom you had promised her, being
dead--you should be fairly my prisoner, and I could measure acre for
acre with your land. Now, I have to tell you, that William de la Roche
fell on yonder plain, pierced from the back to the front by one of the
lances of Tankerville, as he was flying from the field. You are, by the
king's bounty and my good fortune, my true and lawful prisoner; and
surely the power of saving your life, and giving you freedom, may be
reckoned against wealth and land."
"No, no!" said sir Julian. "What I have said----"
But he was interrupted by the king, who had recovered from the
first heat into which sir Julian's obstinacy had cast him, and was now
rather amused than otherwise with the scene before him. "Hold,
count Julian!" cried he, "Do not make any objection yet. The only
difficulty is about the lands, it seems--that we will soon remove."
"Oh, that alters the case," cried count Julian, not sorry in his
heart to be relieved from the painful necessity of maintaining his
resolution at the risk of his life. "If you, sire, in your bounty, choose
to make him my equal in wealth--William de la Roche Guyon being
dead, and I being his prisoner,--all the conditions will be fulfilled, and
he shall have my daughter. What I have said is as firm as fate."
"Well then," replied the king, glancing his eye towards the barons,
who stood round, smiling at the old knight's mania, "we will not only
make De Coucy your equal in wealth, sir Julian, but far your superior.
A court of peers, lords!--a court of peers! Let my peers stand
around."
Such of the spectators as were by right peers of France, advanced
a step from the other persons of the circle, and the king proceeded.
"Count Julian of the Mount!" said he in a stern voice, "We, Philip
the Second, king of France, with the aid and counsel of our peers,
do pronounce you guilty of leze majesté; and do declare all your
feofs, lands, and lordships, wealth, furniture, and jewels, forfeited
and confiscate to the Crown of France, to use and dispose thereof,
as shall be deemed expedient!"
"A judgment! a judgment!" cried the peers while the countenance
of poor Count Julian fell a thousand degrees. "Now, sir," continued
the king, "without a foot of land in Europe, and without a besant to
bless yourself,--William de la Roche Guyon being dead, and you that
good knight's prisoner,--we call upon you to fulfil your word to him,
and consent to his marriage with your daughter, Isadore, on pain of
being held false and mansworn, as well as stubborn and mulish."
"What I have said is said!" replied count Julian, putting forth his
wonted proposition in a very crest-fallen tone. "My resolutions are
always as firm as the centre.--De Coucy, I promised her to you,
under such circumstances. They are fulfilled, and she is your's--
though it is hard that I must marry my daughter to a beggar.
"Beggar, sir!" cried the king, his brow darkening again; "let me tell
you, that though rich enough in worth and valour alone to match the
daughter of a prince, sir Guy de Coucy, as he stands there,
possesses double in lands and lordships what you have ever
possessed. De Coucy, it is true: the lands and lordships of
Tankerville, and all those fair domains upon the banks of the broad
Rhone, possessed by the Count of Tankerville, who wedded your
father's sister, are now yours, by a charter in our royal treasury,
made under his hand, some ten years ago, and warranted by our
consent. We have ourself, pressed by the necessities of the state,
taken for the last year the revenue of those lands, purposing to
make restitution--to you, if it should appear that the count was really
dead--to him, if he returned from Palestine, whither he was said to
have gone. But we find ourself justified by an unexpected event. We
acted in this by the counsel of the wise and excellent hermit of
Vincennes, now a saint in God's paradise: and we have just learned,
that the count de Tankerville himself it was who died ten days ago in
the person of that same Bernard, the anchorite of Vincennes. He
had lived there in that holy disguise for many years; and it was so
long since we had seen him, the change in his person, by fasts and
macerations, was so great, and his appearance as a hermit
altogether so different from what it was as the splendid Count of
Tankerville, that, though not liable to forget the faces we have seen,
in his case we were totally deceived. On his death-bed he wrote to
us this letter, full of pious instruction and good counsel. At the same
time, he makes us the unnecessary prayer of loving and protecting
you. You, therefore, wed the proud old man's daughter, far his
superior in every gift of fortune; and, as some punishment to his
vanity and stubbornness, we endow you and your heirs with all
those feofs that he has justly forfeited, leaving you to make what
provision for his age you yourself may think fit."
Count Julian hung his head; but here let it be said, that he had
never any cause to regret that the king had cast his fortunes into
such a hand; for De Coucy was one of those whose hearts, nobly
formed, expand rather than contract under the sunshine of fortune.
CHAPTER XV.
Six days had elapsed after the scenes we have described in our two
last chapters, and Philip Augustus had taken all measures to secure
the fruits of his victory, when, at the head of a gay party of knights
and attendants, no longer burdened with warlike armour, but
garmented in the light and easy robes of peace, the conquering
monarch spurred along the banks of the Oise, anxious to make
Agnes a sharer of his joy, and to tell her that, though the crafty
policy of Rome still prolonged the question of his divorce, he was
now armed with power to dictate what terms he pleased, and to
bring her enemies to her feet.
The six months had now more than expired, during which he had
consented not to see her; and that absence had given to his love all
that magic light with which memory invests past happiness. The
brightest delight, too, of hope was added to his feelings,--the hope
of seeing joy reblossom on the cheek of her he loved, and the
inspiration of the noblest purpose that can wing human endeavour
carried him on,--the purpose of raising, and comforting, and
bestowing happiness.
It may easily be believed, then, that the monarch was in one of
his gayest and most gladsome moods; and to De Coucy, who rode
by his side, full of as high hopes and glad anticipations as himself, he
ever and anon poured forth some of the bright feelings that were
swelling in his bosom.
The young knight, too, hurrying on towards the castle of
Rolleboise, where Isadore, now his own, won by knightly deeds and
honourable effort, still remained, uncertain of her fate--gave way at
once more to the natural liveliness of his disposition; and, living in
an age when Ceremony had not drawn her rigid barrier between the
monarch and his vassal, suffered the high spirits, which for many
months had been, as it were, chained down by circumstance, to
shine out in many a quick sally and cheerful reply.
The death of his companion in arms, the unhappy Count
d'Auvergne, would indeed throw an occasional shade over De
Coucy's mind. But the regrets which we in the present age
experience for the loss of a friend in such a manner--and which De
Coucy was formed to feel as keenly as any one--in that age met with
many alleviations. He had died knightly in his harness, defending his
monarch; he had fallen upon a whole pile of enemies his hand had
slain; he had wrought high deeds, and won immortal renown. In the
eyes of De Coucy, such a death was to be envied; and thus, though,
when he thought of never beholding his friend again, he felt a touch
of natural grief for his own sake; yet, as he remembered the manner
of his fate, he felt proud that his friend had so finished his career.
It was a bright July morning, and would have been extremely hot,
had not an occasional cloud skimmed over the sky, and cast a cool
though fleeting shadow upon the earth. One of these had just
passed, and had let fall a few large drops of rain upon them in its
course, the glossy stains of which on his black charger's neck Philip
was examining with the sweet idleness of happiness, when De Coucy
called his attention to a pigeon flying overhead.
"A carrier pigeon, as I live! my lord!" said the knight. "I have seen
them often in Palestine. Look! there is its roll of paper!"
"Has any one a falcon?" cried the king, apparently more agitated
than De Coucy expected to see, on so simple an event. "I would give
a thousand besants for a falcon!"
One of the king's pages, in the train, carried, as was common in
those days even during long journies, a falcon on his wrist; and,
hearing the monarch's exclamation, he, in a moment, unhooded his
bird, and slipped its gesses. Lifting its keen eyes towards the skies,
the hawk spread its wings at once, and towered after the pigeon.
"Well flown, good youth!" cried the king. "What is thy name?"
"My name is Hubert," replied the boy, somewhat abashed, "My
name is Hubert, beau sire."
"Hubert? What, nothing else? Henceforth, then be Hubert de
Fauconpret;" and having sportively given this name to the youth--a
name which descended distinguished to after years, he turned his
eyes towards the falcon, and watched its progress through the sky.
"The bird will miss his stroke, I fear me," said the king, turning
towards De Coucy; and then, seeing some surprise at his anxiety
painted on the young knight's countenance, he added, "That pigeon
is from Rolleboise. I brought the breed from Ascalon. Agnes would
not have loosed it without some weighty cause."
As he spoke, the falcon towered above the pigeon, struck it, and
at a whistle brought it, trembling and half dead with fear, to the
page, who instantly delivered it from the clutches of its winged
enemy, and gave it into the hands of the king. Philip took the scrap
of paper from the poor bird's neck, caressed it for a moment, and
then again threw it up into the air. At first, it seemed as if it would
have fallen, from the fear which it had undergone, though the well-
trained falcon had not injured it in the least. After a few faint whirls,
however, it gained strength again, rose in a perpendicular line into
the sky, took two or three circles in the air, and then darted off at
once directly towards Paris.
In the meanwhile, Philip Augustus gazed upon the paper he had
thus received; and, whatever were the contents, they took the
colour from his cheek. Without a word, he struck his horse violently
with his spurs, urged him into a gallop, and, followed by his train as
best they might, drew not in his rein till he stood before the barbican
of the castle of Rolleboise.
Pale cheeks and anxious eyes encountered his glance, as he
dashed over the drawbridge the moment it was lowered. "The
queen?" cried he, "the queen? How fares the queen?" But, without
waiting for a reply, he sprang to the ground in the court, rushed past
the crowd of attendants, through the hall, up the staircase, and
paused not, till he reached the door of that chamber which he and
Agnes had inhabited during the first months of their union; and in
which, from its happy memories, he knew she would be fond to
dwell. There, however, he stopped, the beating of his heart seeming
almost to menace him with destruction if he took a step farther.
There was a murmur of voices within; and, after an instant's
pause, he opened the door, and gliding past the tapestry, stood at
the end of the room.
The chamber was dim, for the night was near; but at the farther
extremity was the faint light of a taper contending with the pale
remains of day. He could see, however, that his marriage-bed was
arrayed like the couch of the dying, that there were priests standing
round in silence, and women in tears; while one lovely girl, whose
face he knew not, knelt by the bed-side, and supported on her arm
the pale and ashy countenance of another, over which the grey
shadow of death seemed advancing fast.
Philip started forward. Could that be Agnes--that pale, blighted
thing, over whose dim and glassy eyes a strange unlife-like film was
drawn, the precursor of the shroud? Could that be Agnes--the
bright--the beautiful--the beloved?
A faint exclamation, which broke from the attendants as they
beheld him, reached even the heavy ear of the dying. The film was
drawn back from her eyes for a moment; life blazed up once more,
and concentrated all its parting light in the full, glad, ecstatic gaze
which she fixed upon the countenance of him she loved. A smile of
welcome and farewell hung upon her lip; and, with a last effort, she
stretched forth her arms towards him. With bitter tears, Philip
clasped her to his bosom. Agnes bent down her . . . head upon his
neck and died!
Oh, glory! oh, victory! oh, power! Ye shining emptinesses! Ye
bubbles on the stream of time!
FOOTNOTES
Footnote 1: Generally and rationally supposed to have been derived
from the country which poured forth the first numerous bands
of these adventurers; i.e. Brabant. See Ducange, La Chenaye
du Bois, &c. Philip Augustus in the end destroyed them for a
time.
Footnote 2: The great companies of the fourteenth century had their
type in the Brabançois, and various other bodies of
freebooters, which appeared previous to that period. The
chief characteristic of all of these bands was, the having
degenerated from soldiers to plunderers, while they
maintained a certain degree of discipline and subordination,
but cast off every other tie.
Footnote 3: M. Charles Nodier.
Footnote 4: To ride a mare was reckoned in those days unworthy of
anyone but a juggler, a charlatan, or a serf.
Footnote 5: Although this act of rashness certainly breathes the
spirit of romance, yet such things have been done, and even
in our own day.
Footnote 6: This is no fantastic remedy, but one of the most
effectual the author of this work has ever seen employed. The
skin of a sheep, however, is not a whit less potent in its
effects than the skin of an izzard.
Footnote 7: Philip Augustus, after the death of his first wife, being
still a very young man, married Ingerburge, sister of Canute,
King of Denmark; but on her arrival in France, he was seized
with so strong a personal dislike to her, that he instantly
convoked a synod of the clergy of France, who, on pretence
of kindred in the prohibited degrees, annulled the marriage.
Philip afterwards married the beautiful Agnes, or Mary, as she
is called by some, daughter of the Duke of Istria and Meranie,
a district it would now be difficult to define, but which
comprehended the Tyrol and its dependencies, down to the
Adriatic.--See Rigord Gud. Brit. Lit. Innoc. III. Cart Philip II.
&c.
Footnote 8: One of the four methods of electing a Pope is called by
adoration, which takes place when the first Cardinal who
speaks instantly (as is supposed by the movement of the Holy
Ghost) does reverence to the person he names, proclaiming
him Pope, to which must be added the instant suffrage of
two-thirds of the assembled conclave.
Footnote 9: For a fuller account of this singular person, and the
effect his counsels had upon the conduct of Philip Augustus,
see Rigord.
Footnote 10: Later instances exist of wax having been used in the
accounts of the royal treasury of France.
Footnote 11: The Chronicle of Alberic des Trois Fontaines gives some
curious particulars concerning this personage, and offers a
singular picture of the times.
Footnote 12: The difference between the chaperon, or hood, and the
aumuce was, that the first was formed of cloth or silk, and
the latter of fur.--Dic. des Franc.
Footnote 13: The name of Augustus was given to Philip the Second,
even in the earlier part of his lifetime, although Mézerai
mistakingly attributes it to many centuries afterwards. Rigord,
the historian and physician, who died in the twenty-eighth
year of Philip's reign, and the forty-second of his age, styles
him Augustus, in the very title of his manuscript.
Footnote 14: It will be understood that this sudden appearance of
the legate is a historical fact.
Footnote 15: Ducange cites the following formula from a work I
cannot meet with. The passage refers to a fraternity of arms
between Majon, high admiral of Sicily, and the archbishop of
Palermo.
"Dictum est præterea quod ii, juxta consuetudinem Siculorum,
fraternæ fœdus societatis contraxerint, seseque invicem
jurejurando astrinxerunt ut alter alterum modis omnibus
promoveret, et tam in prosperis quàm in adversis unius
essent animi, unius voluntatis atque consilii; quisquis alterum
læderet, amborura incurreret offensam."
The same learned author cites a declaration of Louis XI.
where he constitutes Charles, Duke of Burgundy, his sole
brother in arms, thereby seeming to imply that this adoption
of a brother in arms was restricted to one.--Ducange, Dissert.
xxi.
Footnote 16: This singular picture of the barbarism of the age
immediately preceding that of Philip Augustus is rendered as
literally as possible from the Life of Louis le Gros by Suger,
Abbot of St. Denis.
Footnote 17: This part of the dress was a small pouch borne under
the arm, and called escarcelle, or pera, when carried by
pilgrims to the Holy Land. With the utmost reverence for the
learning, talent, and patience of Ducange, it appears to me
that he was mistaken in his interpretation of a passage of
Cassian, relative to this part of the pilgrim's dress. The
sentence in Cassian is as follows: "Ultimus est habitus eorum
pellis caprina, quæ melotes, vel pera appellatur, et baculus;"
which Ducange affirms to mean, that they wore a dress of
goat-skins, a wallet, and a stick. Embarrassed by taking
habitus in the limited sense of a garment, I should rather be
inclined to think that the author merely meant that the last
part of their (the monks') dress was what is called a pera,
made of goat-skins, and a stick, and not three distinct
articles, as Ducange imagines.--See Ducange, Dissert. xv.
Footnote 18: Guillaume le Breton says unqualifiedly, that Richard
Cœur de Lion invented the arbalète, or cross-bow. Brompton,
on the other hand, only declares that he revived the use of it,
"hoc genus sagittandi in usum revocavit."
Footnote 19: This must not be looked upon as an expression
hazarded without authority, notwithstanding its homeliness.
The only titles of honour known in those days were
Monseigneur, My Lord; Illustres Seigneurs, applied in general
to an assembly of nobles; and Beau Sire, or Fair Sir, which
was not only bestowed upon kings, on all occasions, but,
even as lately as the reign of St. Louis, was addressed to God
himself. Many prayers beginning Beau Sire Dieu are still
extant.
Footnote 20: Eleanor Plantagenet, who was detained till her death,
to cut off all change of subsequent heirs in the line of
Geoffrey Plantagenet, John's elder brother.
Footnote 21: I know not precisely how far back a curious antiquary
might trace the existence of such places of public reception. I
find one mentioned, however, in the Chronicle of Vezelai,
about fifty years prior to the period of which I write.
Footnote 22: There are various differences of opinion concerning the
persons to whom the use of the haubert was confined.
Ducange implies, from a passage in Joinville, that this part of
the ancient suits of armour was the privilege of a knight. Le
Laboureur gives it also to a squire. But the Brabançois and
other bands of adventurers did not subject themselves to any
rules and regulations respecting their arms, as might be
proved from a thousand different instances.
Footnote 23: This conversation is reported by the chroniclers of the
time to have taken place previous to Arthur's confinement in
the tower of Rouen.
Footnote 24: The French writers of that day almost universally agree
in attributing the death of Arthur to John's own hand. The
English writers do not positively deny it, and we have
indubitable proof that such was the general rumour through
all the towns and castles of Europe at the time.--See Guill.
Guiart. Guill. de Nangis. Guill. le Breton. Mat. Paris, &c.
Footnote 25: It has been asserted that these troops received no pay,
but supported themselves by plunder. I find them, however,
called mercenaries in more than one instance, which clearly
implies that they fought for hire.
Footnote 26: Constable of Normandy in the year 1200, and
following, as appears from a treaty between John and Philip,
concluded at Gueuleton.
Footnote 27: Seldon has said that the custom of bearing coronets by
peers is of late days. In this assertion, however, he is
apparently mistaken, the proofs of which may be seen at
large in Ducange, Dissért, xxiv. R. Hoved. 792. Hist. des
Compte de Poitou, &c. The matter is of little consequence,
except so far as the representation of the manners and
customs of the times is affected by it.
Footnote 28: The closed crown was not introduced until the reign of
Louis XII. or Francis I.
Footnote 29: A different banner from the famous oriflamme which
was the standard of St. Denis.
Footnote 30: Lacurne de St. Palaye was decidedly wrong in
attributing the use of the lance solely to knights. Besides the
example before given, the present instance of the serjeants of
Soissons puts the matter beyond doubt. The words of
Guillaume Guiart are--
"Serjanz d'armes cent et cinquante. Criant
Monjoie! ensemble brochent; Vers les rens des
Flamens deseochent Les pointes des lances
enclines," &c.
That the serjeants of arms of Soissons were simple burghers
is evident from the contempt with which the Flemish knights
received them--Guil. le Breton, in vit. Phil. Aug.
Footnote 31: This circumstance, however extraordinary, is not the
less true; and though attributed by the various chroniclers to
various persons, is mentioned particularly by all who have
described the battle of Bovines.
THE END.
LONDON:
Printed by A. SPOTTISWOODE,
New-Street-Square.
*** END OF THE PROJECT GUTENBERG EBOOK PHILIP AUGUSTUS;
OR, THE BROTHERS IN ARMS ***
Updated editions will replace the previous one—the old editions will
be renamed.
Creating the works from print editions not protected by U.S.
copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.
START: FULL LICENSE
THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK
To protect the Project Gutenberg™ mission of promoting the free
distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.
Section 1. General Terms of Use and
Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.
1.B. “Project Gutenberg” is a registered trademark. It may only be
used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
1.E. Unless you have removed all references to Project Gutenberg:
1.E.1. The following sentence, with active links to, or other
immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
1.E.2. If an individual Project Gutenberg™ electronic work is derived
from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.
1.E.3. If an individual Project Gutenberg™ electronic work is posted
with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.
1.E.4. Do not unlink or detach or remove the full Project
Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute this
electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
1.E.7. Do not charge a fee for access to, viewing, displaying,
performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.
1.E.8. You may charge a reasonable fee for copies of or providing
access to or distributing Project Gutenberg™ electronic works
provided that:
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You provide a full refund of any money paid by a user who
notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.
• You provide, in accordance with paragraph 1.F.3, a full refund of
any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™
electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.
1.F.
1.F.1. Project Gutenberg volunteers and employees expend
considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookultra.com

More Related Content

Similar to Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edition Edition Rick Dobson (20)

235042632 super-shop-ee
235042632 super-shop-ee
homeworkping3
 
Cursos sql server .net visual basic octubre 2010
Cursos sql server .net visual basic octubre 2010
Servicios Educativos Softrain C.A.
 
Vb & asp .net
Vb & asp .net
Lakhmichand institute of technology
 
Vb and asp.net
Vb and asp.net
sanjay joshi
 
Advanced Programming Using Visual Basic. NET
Advanced Programming Using Visual Basic. NET
Tony Lisko
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
Dave Bost
 
Mcts Selfpaced Training Kit Exam 70516 Accessing Data With Microsoft Net Fram...
Mcts Selfpaced Training Kit Exam 70516 Accessing Data With Microsoft Net Fram...
khlifrushit84
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application
Dharmendra Sid
 
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
Nancy Thomas
 
ASPNET for PHP Developers
ASPNET for PHP Developers
Wes Yanaga
 
.NET presentation
.NET presentation
Himanshu Bhalla
 
ASP NET Professional Projects 1st Edition Hersh Bhasin
ASP NET Professional Projects 1st Edition Hersh Bhasin
resulljuz
 
ASP NET Professional Projects 1st Edition Hersh Bhasin
ASP NET Professional Projects 1st Edition Hersh Bhasin
tevdtridev
 
DBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_Solution
Syed Zaid Irshad
 
Developer s Guide to Microsoft Enterprise Library Visual Basic Edition Patter...
Developer s Guide to Microsoft Enterprise Library Visual Basic Edition Patter...
ambahoraci
 
Synapseindia dot net development chapter 8 asp dot net
Synapseindia dot net development chapter 8 asp dot net
Synapseindiappsdevelopment
 
Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5
Hadi Karimi
 
Introduction to Threading in .Net
Introduction to Threading in .Net
webhostingguy
 
Asp.net
Asp.net
Rizwan Ahmed
 
Dairy management system project report..pdf
Dairy management system project report..pdf
Kamal Acharya
 
235042632 super-shop-ee
235042632 super-shop-ee
homeworkping3
 
Advanced Programming Using Visual Basic. NET
Advanced Programming Using Visual Basic. NET
Tony Lisko
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
Dave Bost
 
Mcts Selfpaced Training Kit Exam 70516 Accessing Data With Microsoft Net Fram...
Mcts Selfpaced Training Kit Exam 70516 Accessing Data With Microsoft Net Fram...
khlifrushit84
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application
Dharmendra Sid
 
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
Nancy Thomas
 
ASPNET for PHP Developers
ASPNET for PHP Developers
Wes Yanaga
 
ASP NET Professional Projects 1st Edition Hersh Bhasin
ASP NET Professional Projects 1st Edition Hersh Bhasin
resulljuz
 
ASP NET Professional Projects 1st Edition Hersh Bhasin
ASP NET Professional Projects 1st Edition Hersh Bhasin
tevdtridev
 
DBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_Solution
Syed Zaid Irshad
 
Developer s Guide to Microsoft Enterprise Library Visual Basic Edition Patter...
Developer s Guide to Microsoft Enterprise Library Visual Basic Edition Patter...
ambahoraci
 
Synapseindia dot net development chapter 8 asp dot net
Synapseindia dot net development chapter 8 asp dot net
Synapseindiappsdevelopment
 
Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5
Hadi Karimi
 
Introduction to Threading in .Net
Introduction to Threading in .Net
webhostingguy
 
Dairy management system project report..pdf
Dairy management system project report..pdf
Kamal Acharya
 

Recently uploaded (20)

GEOGRAPHY-Study Material [ Class 10th] .pdf
GEOGRAPHY-Study Material [ Class 10th] .pdf
SHERAZ AHMAD LONE
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
Sustainable Innovation with Immersive Learning
Sustainable Innovation with Immersive Learning
Leonel Morgado
 
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
Sourav Kr Podder
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Shrutidhara2
 
Revista digital preescolar en transformación
Revista digital preescolar en transformación
guerragallardo26
 
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
 
Final Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptx
bobby205207
 
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
 
LDMMIA GRAD Student Check-in Orientation Sampler
LDMMIA GRAD Student Check-in Orientation Sampler
LDM & Mia eStudios
 
LDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student News
LDM & Mia eStudios
 
BINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptx
Ramakrishna Reddy Bijjam
 
IDF 30min presentation - December 2, 2024.pptx
IDF 30min presentation - December 2, 2024.pptx
ArneeAgligar
 
Exploring Ocean Floor Features for Middle School
Exploring Ocean Floor Features for Middle School
Marie
 
Allomorps and word formation.pptx - Google Slides.pdf
Allomorps and word formation.pptx - Google Slides.pdf
Abha Pandey
 
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDM & Mia eStudios
 
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Dr. Ravi Shankar Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Himalayan Group of Professional Institutions (HGPI)
 
june 10 2025 ppt for madden on art science is over.pptx
june 10 2025 ppt for madden on art science is over.pptx
roger malina
 
GEOGRAPHY-Study Material [ Class 10th] .pdf
GEOGRAPHY-Study Material [ Class 10th] .pdf
SHERAZ AHMAD LONE
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
Sustainable Innovation with Immersive Learning
Sustainable Innovation with Immersive Learning
Leonel Morgado
 
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
Sourav Kr Podder
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Shrutidhara2
 
Revista digital preescolar en transformación
Revista digital preescolar en transformación
guerragallardo26
 
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
 
Final Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptx
bobby205207
 
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
 
LDMMIA GRAD Student Check-in Orientation Sampler
LDMMIA GRAD Student Check-in Orientation Sampler
LDM & Mia eStudios
 
LDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student News
LDM & Mia eStudios
 
BINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptx
Ramakrishna Reddy Bijjam
 
IDF 30min presentation - December 2, 2024.pptx
IDF 30min presentation - December 2, 2024.pptx
ArneeAgligar
 
Exploring Ocean Floor Features for Middle School
Exploring Ocean Floor Features for Middle School
Marie
 
Allomorps and word formation.pptx - Google Slides.pdf
Allomorps and word formation.pptx - Google Slides.pdf
Abha Pandey
 
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDM & Mia eStudios
 
june 10 2025 ppt for madden on art science is over.pptx
june 10 2025 ppt for madden on art science is over.pptx
roger malina
 
Ad

Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edition Edition Rick Dobson

  • 1. Visit https://ebookultra.com to download the full version and browse more ebooks or textbooks Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edition Edition Rick Dobson _____ Press the link below to begin your download _____ https://ebookultra.com/download/programming-microsoft-sql- server-2000-with-microsoft-visual-basic-net-1st-edition- edition-rick-dobson/ Access ebookultra.com now to download high-quality ebooks or textbooks
  • 2. Here are some recommended products for you. Click the link to download, or explore more at ebookultra.com Programming Microsoft Visual Basic NET Version 2003 Francesco Balena https://ebookultra.com/download/programming-microsoft-visual-basic- net-version-2003-francesco-balena/ Programming with Microsoft Visual Basic 2012 6th Edition Diane Zak https://ebookultra.com/download/programming-with-microsoft-visual- basic-2012-6th-edition-diane-zak/ Microsoft SQL Server 2012 T SQL 1st Edition Tom Coffing https://ebookultra.com/download/microsoft-sql-server-2012-t-sql-1st- edition-tom-coffing/ Sams Teach Yourself Microsoft SQL Server 2000 in 21 Days 2nd Edition Richard Waymire https://ebookultra.com/download/sams-teach-yourself-microsoft-sql- server-2000-in-21-days-2nd-edition-richard-waymire/
  • 3. Microsoft SQL Server 2008 Administration with Windows PowerShell 1st Edition Ananthakumar Muthusamy https://ebookultra.com/download/microsoft-sql- server-2008-administration-with-windows-powershell-1st-edition- ananthakumar-muthusamy/ Programming the Web with Visual Basic NET 1st Edition Lynn Torkelson https://ebookultra.com/download/programming-the-web-with-visual-basic- net-1st-edition-lynn-torkelson/ Inside Microsoft SQL Server 2008 T SQL Querying 1st Edition Itzik Ben-Gan https://ebookultra.com/download/inside-microsoft-sql- server-2008-t-sql-querying-1st-edition-itzik-ben-gan/ Mastering Microsoft Visual Basic 2008 Evangelos Petroutsos https://ebookultra.com/download/mastering-microsoft-visual- basic-2008-evangelos-petroutsos/ The Microsoft Data Warehouse Toolkit With SQL Server 2008 R2 and the Microsoft Business Intelligence Toolset 2nd edition Edition Kimball https://ebookultra.com/download/the-microsoft-data-warehouse-toolkit- with-sql-server-2008-r2-and-the-microsoft-business-intelligence- toolset-2nd-edition-edition-kimball/
  • 5. Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edition Edition Rick Dobson Digital Instant Download Author(s): Rick Dobson, Paul Cornell ISBN(s): 9780735615359, 0735615357 Edition: 1st edition File Details: PDF, 10.60 MB Year: 2002 Language: english
  • 7. Programming Microsoft® SQL Server™ 2000 with Microsoft Visual Basic® .NET Foreword Acknowledgments Introduction Who’s the Book For? What’s Special About This Book? How’s the Book Organized? System Requirem ents Sample Files Support 1. Getting Started with Visual Basic .NET for SQL Server 2000 Visual Studio .NET, the Visual Basic .NET IDE An Overview of ADO.NET Capabilities A Starter ADO.NET Sam ple Using Query Analyzer 2. Tables and Data Types Chapter Resources Data Types for Tables Scripting Tables 3. Program m ing Data Access with T-SQL I ntroduction to Data Access with T-SQL Aggregating and Grouping Rows Processing Dates Joins and Subqueries 4. Program m ing Views and Stored Procedures I ntroduction to Views Creating and Using Views Views for Remote and Heterogeneous Sources I ntroduction to Stored Procedures Creating and Using Stored Procedures Processing Stored Procedure Outputs I nserting, Updating, and Deleting Rows Programm ing Conditional Result Sets 5. Program m ing User-Defined Functions and Triggers I ntroduction to User-Defined Functions Creating and I nvoking Scalar UDFs Creating and I nvoking Table-Valued UDFs I ntroduction to Triggers Creating and Managing Triggers 6. SQL Server 2000 XML Functionality Overview of XML Support XML Formats and Schemas URL Access to SQL Server Template Access to SQL Server 7. SQL Server 2000 Security
  • 8. Overview of SQL Server Security I ntroduction to Special Security I ssues Samples for Logins and Users Samples for Assigning Perm issions 8. Overview of the .NET Fram ework An I ntroduction to the .NET Fram ework An Overview of ASP.NET XML Web Services 9. Creating Windows Applications Getting Started with Windows Forms Creating and Using Class References I nheriting Classes Programm ing Events Exception Handling for Run-Tim e Errors 10. Programm ing Windows Solutions with ADO.NET An Overview of ADO.NET Objects Making Connections Working with Command and DataReader Objects DataAdapters , Data Sets, Forms, and Form Controls Modifying, Inserting, and Deleting Rows 11. Programm ing ASP.NET Solutions Review of ASP.NET Design I ssues Creating and Running ASP.NET Solutions Session State Management Data on Web Pages Validating the Data on a Web Page 12. Managing XML with Visual Basic .NET SQL Server Web Releases Overview of XML Technologies Generating XML Documents with the .NET Framework Dynam ically Setting an XML Result Set The I nterplay Between XML and Data Sets Creating HTML Pages with XSLT 13. Creating Solutions with XML Web Services Overview of Web services A Web Service to Return a Com puted Result A Web Service to Return Values from Tables The SQL Server 2000 Web Services Toolkit More on Populating Controls with Web Services About the Author
  • 9. Forew ord During m y five years at Microsoft, I ’ve been helping developers understand technologies such as Microsoft Visual Studio, Microsoft SQL Server, and Microsoft Office Developer. During the past two years, I have worked on the Microsoft Office XP Visual Basic Language Reference, and now, the MSDN Office Developer Center. I n the m onthly column on MSDN, Office Talk, I have written articles to help Office developers understand the .NET platform and how it affects their current and future development efforts. As I write this foreword to Rick Dobson’s book on programm ing Microsoft SQL Server solutions with Microsoft Visual Basic .NET, I think back to my own experiences developing software applications with Visual Basic. My first experience with Visual Basic was learning the language using version 3.0. I rem ember picking up m y first Visual Basic beginner’s book and being excited as I developed my first few “Hello, World” applications. I couldn’t believe how quick and easy it was to develop software applications that operated sim ilarly to other popular shareware program s of that tim e. However, during that time I also discovered som e of the shortcom ings of Visual Basic as an enterprise-level development language. It was then that I turned my attention to C+ + . I rem ember being very frustrated at trying to learn the language, trying to understand concepts such as pointers, m em ory allocation, and true object-oriented programm ing. I took classes on C+ + at the local university, but I got even m ore frustrated having to wait m onths until I was taught how to create the sim plest Microsoft Windows form, something I did in just a couple of m inutes using Visual Basic. I n my frustration, I gave up trying to learn C+ + and have been using Visual Basic to develop software applications ever since. As each new version of Visual Basic was released, I readied myself to learn new software developm ent technologies. First it was ActiveX control development. Then it was calling the Windows API . Next it was DHTML Applications. Then it was database developm ent using Microsoft SQL Server. I t always seem ed as though I had to learn a new language and a new developm ent paradigm for every new technology that came along. I kept thinking that there had to be an easier and more unified approach. Well, now we’ve reached the advent of the Microsoft .NET platform , and with it, a revolution in the Visual Basic language, Microsoft Visual Basic .NET. I believe that Visual Basic .NET will provide software developers with new opportunities for quickly and easily designing integrated software applications that connect businesses and individuals anytime, anywhere, and on virtually any software device. With advances in the Visual Basic .NET language, Visual Basic .NET developers will finally be on a par with their C+ + and C# counterparts, participating in many high-end developm ent projects. With Visual Studio .NET features such as cross-language debugging, along with Visual Basic .NET conformance to the com mon type system and the com mon language runtime, organizations can drive down their development costs by tapping into the wide range of skills that Visual Basic .NET developers now possess. True object-oriented programm ing is now available in Visual Basic .NET, including features such as inheritance and m ethod overloading. I t’s now simpler to call the Windows API by using the .NET Fram ework Class Libraries. Web application developm ent is now as easy as developing Windows form s–based applications. Database application developm ent is made easier by uniting disparate data object libraries such as DAO, RDO, OLE DB, and ADO under ADO.NET, utilizing the power of XML to consume and transm it relational data over com puter networks. And a new technology, XML Web services, allows Visual Basic .NET developers to host their software applications’ logic over the Web. Additionally, a big issue for
  • 10. software developers today is that of software application deploym ent and versioning. I f you don’t agree, just ask any software developer about “DLL hell,” and you’re bound to get an earful. For m any .NET applications, the .NET platform features “copy and paste” or XCOPY deploym ent. (Users simply copy your application files from the source media to any single directory and run the application.) And because .NET no longer relies on the registry, virtually all DLL compatibility issues go away. With this book, Rick aim s to give you the skills you need to program SQL Server solutions with Visual Basic .NET. I know you will find Rick’s book helpful. Rick brings his experience to bear from three previous books: Programm ing Microsoft Access Version 2002 (Microsoft Press, 2001), Program m ing Microsoft Access 2000 (Microsoft Press, 1999), and Professional SQL Server Development with Access 2000 (Wrox Press I nc., 2000). Rick also brings his experience of leading a successful nationwide sem inar tour. More important, I know you will enjoy Rick’s book because of his deep interest in Visual Basic .NET and SQL Server, and in helping you, the professional developer, understand and apply these technologies in your daily software application developm ent projects. Paul Cornell MSDN Office Developer Center http: / / msdn.m icrosoft.com/ officeMicrosoft Corporation February 2002
  • 11. Acknow ledgm ents This section offers me a chance to say thank you to all who helped make this book possible. I wish to offer special recognition to five support resources. First, the folks at Microsoft Press have been fantastic. Dave Clark, an acquisitions editor, selected me to write the book just months after I completed another book for Microsoft Press. Dick Brown, m y project editor, staunchly stood up for his perception of how to m ake the book’s organization and content clear to you without being petty or boring to m e. Dick also lightened my load substantially by showing a real knack for editing my text without distorting the original intent. When Dick was especially busy, he handed off some of his load to Jean Ross, who also did an adm irable job. Others at Microsoft Press who contributed to my well- being in one way or another include Aaron Lavin and Anne Hamilton. Second, I had excellent working relations with several professionals within Microsoft. Paul Cornell, a widely known technical editor at Microsoft, was kind enough to share his insights on how to present .NET concepts compellingly. I want to thank Paul especially for writing the Foreword to this book. Karthik Ravindran served as the MSXML Beta Product Lead Engineer at Microsoft Product Support Services during the time that I wrote this book. He provided valuable technical content about the SQL Server 2000 Web releases. Other Microsoft representatives providing moral and technical support for this book include Richard Waym ire and Jan Shanahan. Third, I want to express m y appreciation to the many readers, sem inar attendees, and site visitors who took the time to tell m e what I did right or wrong for them, and also to those who shared their technical support questions with me. It is through this kind of feedback that I am able to know what’s important to practicing developers. I encourage you to visit my m ain Web site (http: / / www.programm ingmsaccess.com) and sign the guest book. The entry form includes space for you to leave your evaluation of this book or your question about a topic covered in the book. I prom ise to do my best to reply personally. I n any event, I definitely read all m essages and use them so that I can serve you better with future editions of this, and other, books. Fourth, I want to tell the world how grateful I am to my wife, Virginia. Without Virginia’s warm support, love, and care, this book would be less professional. She relieves m e of nearly every responsibility around the house when I undertake a book project. In addition, she offers strategic advice on the issues to address and their style of coverage. When I run out of tim e, she even pitches in with the proofreading. Fifth, it is important for me to give praise and glory to my Lord and Savior, Jesus Christ, who I believe gave m e the strength and wisdom to write this book. I n addition, He gave m e health during the long gestation period that resulted in the birth of this book. I t is my prayer that the book prove to be a blessing to you.
  • 12. I ntroduction Anyone who buys a book—or considers buying it—wants to know who the book is for, what sets it apart from others like it, and how the book is organized. This introduction covers those three questions, and it also discusses system requirem ents, sample files, and support. • First, w ho is the book for? There are at least two answers to this question. One answer is that the book targets professional developers (and others aspiring to be professional developers). The second group the book addresses is those who want to build full-featured, secure SQL Server solutions with Visual Basic .NET. • Second, w hat’s special about the book? I hope you com e to believe that the m ost important answer to this question is that the book considered quality and depth of coverage more important than rushing to market. The book will arrive on bookshelves m ore than three months after the official release of the .NET Framework. I t is my wish that you derive value from the extra time taken to develop the m any code samples and the in-depth discussions of advanced topics, such as class inheritance, ASP.NET, and XML Web services. • Third, how is the book organized? The short answer is that there are two main sections. One section introduces SQL Server concepts as it dem onstrates T-SQL (Transact SQL) programming techniques. After conveying SQL Server basic building blocks in the first part, the second part reveals how to put those parts together with Visual Basic .NET and related technologies into SQL Server solutions for handling common database chores. The three support item s include a brief description of the book’s companion CD and how to use it, Microsoft Press Support I nformation for this book, and a summary of system and software requirem ents for the sample code presented in the book. W ho’s the Book For? This book targets professional Visual Basic and Visual Basic for Applications developers. From my seminar tours and Web sites (http: / / www.programm ingmsaccess.com and http: / / www.cabinc.net), I know that these professionals are driven by a passion to deliver solutions to their clients through applying the m ost innovative technologies their clients will accept. In-house developers are the go-to persons for getting results fast— particularly for custom in-house systems and databases. I ndependent developers specialize in serving niche situations that can include under-served business needs and work overflows. I n both cases, these professionals need training m aterials that address practical business requirem ents while showcasing innovative technologies without wasting their tim e. This book strives to serve this broad need in two specific areas. This book is for developers looking for code samples and step-by-step instructions for building SQL Server 2000 solutions with Visual Basic .NET. The book focuses on the integration of SQL Server 2000 with .NET technologies tapped via Visual Basic .NET. I t is my firm belief that you cannot create great SQL Server solutions in any programm ing language without knowing SQL Server. Therefore, this book
  • 13. goes beyond traditional coverage of SQL Server for Visual Basic developers. You’ll learn T-SQL program m ing techniques for data access, data manipulation, and data definition. A whole chapter equips you to secure your SQL Server solutions. In addition, there’s plenty of content in this book on Visual Basic .NET and related technologies, such as ADO.NET, ASP.NET, XML (Extensible Markup Language), and XML Web services. The presentation of these technologies demonstrates coding techniques and explores concepts that equip you to build better solutions with SQL Server 2000 databases. I n addition, the book highlights innovations introduced through the Web releases for SQL Server 2000 that integrate SQL Server 2000 tightly with Visual Basic .NET. This isn’t a book about XML, but three of the book’s 13 chapters focus in whole or in part on XML. Therefore, those seeking practical dem onstrations of how to use XML with SQL Server and Visual Basic .NET will derive value from this book. I f you have looked at any of the computer magazines over the past couple of years, you know that XML is coming to a solution near you. However, the rapid pace of XML innovation m ay have dissuaded som e from jum ping on the bandwagon while they wait to see what’s going to last and what’s just a fad. I n the book’s three chapters on XML technology, you’ll learn about XML documents, fragm ents, and formatting as well as related technologies, such as XPath (XML Path Language) queries, XSLT (Extensible Stylesheet Language Transformation), and WSDL (Web Services Description Language). W hat’s Special About This Book? There are several features that make this book stand apart from the flood of books on .NET. One of the m ost important of these is that this book didn’t rush to market but rather shipped m onths after the release of the .NET Framework. This allowed me enough tim e to filter, exam ine, and uncover what were the m ost useful and innovative features for Visual Basic .NET developers building SQL Server solutions. For example, the book includes a whole chapter on creating solutions with XML Web services. That chapter includes two major sections on the SQL Server 2000 Web Services Toolkit, which didn’t ship until the day of the .NET Framework release. The .NET Framework content is at a professional level, but it isn’t just for techies. This book doesn’t assume any prior knowledge of the .NET Framework. I t does assume that you get paid for building solutions programmatically and that at least some of those solutions are for SQL Server databases. Therefore, the book explains basic .NET concepts and dem onstrates how to achieve practical results with those concepts through a huge collection of .NET code samples. This book is about building solutions for SQL Server 2000. I include coverage of the many special features that tie Visual Basic .NET and SQL Server 2000 closely to one another. Although there is coverage of general .NET database techniques, this book dives deeply into T-SQL programm ing techniques so that you can create your own custom database objects, such as tables, stored procedures, views, triggers, and user-defined functions. I n addition, there is separate coverage of the XML features released with SQL Server 2000 as well as separate coverage of the XML features in the first three Web releases that shipped for SQL Server 2000. There are num erous code samples throughout the book. These will equip you to build solutions with Visual Basic .NET, T-SQL, and combinations of the two. Finally, this book is special because of the unique experiences of its author, Rick Dobson. I have trained professional developers in Australia, England, Canada, and throughout the United States. This is my fourth book in four years, and you can find my articles in popular publications and Web sites, such as SQL Server Magazine and MSDN Online. As a Webmaster, my main site
  • 14. (http: / / www.programm ingmsaccess.com) serves hundreds of thousands of sessions to developers each year. I constantly exam ine their viewing habits at the site to determ ine what interests them. I n addition, my site features scores of answers to technical support questions subm itted by professional developers. My goal in offering answers to these questions is to stay in touch with practicing developers worldwide so that my new books address the needs of practicing, professional developers. How ’s the Book Organized? There are two main parts to this book tied together by an introductory part. Part II , the first main part, dwells on SQL Server techniques. Part I II builds on the SQL Server background as it lays a firm foundation in .NET techniques for Visual Basic .NET developers. Part I, the introductory part, demonstrates ways to use SQL Server and Visual Basic .NET together. Part I , I ntroduction Part I , which includes only Chapter 1, has three main goals. First, it acquaints you with the basics of Visual Basic .NET within Visual Studio .NET. You can think of Visual Basic .NET as a major upgrade to the Visual Basic 5 or 6 that you are probably using currently. This first section introduces some concepts that you will find useful as you initially learn the landscape of Visual Basic .NET. The second goal of Chapter 1 is to introduce ADO.NET. I f you think of Visual Basic .NET as a major upgrade to Visual Basic 6, ADO.NET is m ore like a major overhaul of ADO. In two sections, you get an introduction to ADO.NET classes— particularly as they relate to SQL Server— and you get a chance to see a couple of beginner sam ples of how to create SQL Server solutions with Visual Basic .NET and ADO.NET. The third goal of the introductory part is to expose you to Query Analyzer. This is a SQL Server client tool that ships with all comm ercial editions of SQL Server 2000. You can think of it as an IDE for T-SQL code. Most of the book’s first part relies heavily on T-SQL, and therefore having a convenient environment for debugging and running T-SQL code is helpful. The final section of Chapter 1 addresses this goal. Part I I , SQL Server Part I I consists of six relatively short chapters that focus substantially on programm ing SQL Server 2000 with T-SQL. Chapter 2 and Chapter 3 introduce T- SQL and SQL Server data types. I f you are going to program SQL Server and create efficient, fast solutions, you m ust learn SQL Server data types, which is one of the main points conveyed by Chapter 2. Many readers will gravitate to Chapter 3 because it introduces core T-SQL program m ing techniques for data access. You’ll apply the techniques covered in this chapter often as you select subsets of rows and colum ns in data sources, group and aggregate rows from a table, process dates, and join data from two or more tables. Chapter 3 also considers special data access topics, such as outer joins, self joins and subqueries. The next pair of chapters in Part I I , Chapter 4 and Chapter 5, take a look at programm ing database objects that you will use for data access and data manipulation, such as views, stored procedures, user-defined functions, and triggers. These database objects are im portant for many reasons, but one of the most important is that they bundle T-SQL statements for their easy reuse. I t is
  • 15. widely known that the best code is the code that you don’t have to write. However, if you do have to write code, you should definitely write it just onc, and then reuse it whenever you need its functionality. Stored procedures are particularly desirable database objects because they save compiled T-SQL statements that can deliver significant speed advantages over resubm itting the same T-SQL statement for compilation each tim e you want to perform a data access or data manipulation task. Chapter 4 and Chapter 5 are also important because they convey T-SQL syntax for using parameters and conditional logic that support dynam ic run-tim e behavior and user interactivity. One of the m ost important features of SQL Server 2000 is its XML functionality. Because XML as a topic is changing so rapidly, Microsoft adopted a strategy of upgrading the SQL Server 2000 XML functionality through Web releases. Although those with SQL Server 2000 can download the Web releases without charge from the Microsoft Web site, the Web releases are fully supported. Chapter 6 introduces core XML functionality introduced with SQL Server 2000 as well as functionality from the first two Web releases. I n particular, you can learn in this chapter about I IS virtual directories as well as form ats for XML docum ents and schemas. You also learn about templates in virtual directories that facilitate data access and data manipulation tasks over the Web. Chapter 7 closes out the SQL Server part of the book with an in-depth look at programm ing SQL Server security. I n these tim es, security has grown into a monum ental topic, and this chapter can keep you out of trouble by blocking hackers from getting into or corrupting your database. You learn such topics as how to create and manage different types of login and user accounts and how to control the perm issions available to individual accounts as well as groups of accounts. By learning how to script accounts and perm issions with T-SQL, you simplify revising and updating security as conditions change (for exam ple, when users leave the company or when new, sensitive data gets added to a table). Part I I I , .NET Chapter 8 starts the .NET part of the book with a review of selected .NET topics that are covered in the initial look Chapter 1 offered at the .NET Fram ework. This chapter provides an overview of the architecture for .NET solutions, and it drills down on two topics: ASP.NET and XML Web services. The general purpose of this chapter is the same as Chapter 1, which is to introduce concepts. The emphasis in Chapter 8 isn’t how you do som ething, but rather what are the major technologies enabling you to do som ething. Chapter 1 and Chapter 8 are both relatively short chapters, but you may find them invaluable if you are the kind of person who benefits from high-level overviews of a collection of topics. Chapter 9 starts with a close exam ination of how to use Windows Form s with Visual Basic .NET. I t then shifts its focus to a review of traditional class processing concepts via Visual Basic .NET as an introduction to class inheritance, a new object-oriented feature that makes its first appearance in Visual Basic with Visual Basic .NET. Next the treatm ent of classes progresses to the handling of built-in events as well as the raising of custom events. Finally the chapter closes with an exam ination of the new exception handling techniques for processing run- time errors. Chapter 10 is a how-to guide for solutions to typical problems with ADO.NET. Before launching into its progression of sam ples showing how to perform all kinds of tasks, the chapter starts with an overview of the ADO.NET object m odel that covers the main objects along with selected properties and m ethods for each object. The how-to guide focuses on data access tasks, such as selecting rows and columns from SQL Server database objects, as well as data manipulation tasks, such as inserting, updating, and deleting rows in a table. Working through
  • 16. the samples in the how-to guide offers a hands-on feel for using the System .Data.SqlClient namespace elem ents to perform typical tasks. Chapter 11 switches the focus to the Web by addressing the creation and use of ASP.NET solutions. This chapter starts by introducing basic elem ents that you need to know in order to use ASP.NET to create great Web solutions with Visual Basic .NET. These include learning what happens as a page does a round-trip from a browser to a Web server and back to the browser— particularly for data associated with the page. Other prelim inary topics that equip you for building professional Web solutions include running the same page in m ultiple browser types and sniffing the browser for cases in which you want to send a page optim ized for a specific kind of browser type. Managem ent of session state is a major topic in the chapter, and you learn how to use enhancem ents to Session variables for Web farms as well as the new view state variables, a non-server- based technique for managing state in ASP.NET solutions. The last two sections in the chapter deal with ADO.NET topics in ASP.NET solutions and the new autom atic data validation features built right into ASP.NET. The last two chapters in the book explore how XML interplays with Visual Studio .NET and SQL Server 2000. For example, Chapter 12 exam ines special tools in Visual Studio .NET to facilitate the design and editing of XML docum ents and schemas. I n addition, you learn how to designate XPath queries that accept run- time input for returning SQL Server result sets inside Visual Basic .NET programs. The chapter dem onstrates techniques for processing the XML document associated with all ADO.NET data set objects. I n the chapter’s last section, I present a couple of code sam ples that illustrate how to program static HTML pages based on XML documents with XSLT. Chapter 13 drills down on XML Web services by dem onstrating several different approaches for creating Web services as well as consum ing XML output from Web services. Web services behave somewhat like COM objects in that you can set up server applications for client applications. The server applications expose m ethods to which the client applications can pass param eters. XML comes into play with Web services in a couple of areas. First, Web services represent their inputs and outputs via WSDL, an XML-based language that form ally describes an XML Web service. Second, Web services return data to their clients as XML documents or document fragm ents. System Requirem ents The requirem ents for this book vary by chapter. I developed and tested all samples throughout this book on a com puter equipped with Windows 2000 Server, SQL Server Enterprise Edition, and the Enterprise Developer Edition of Visual Studio .NET, which includes Visual Basic .NET. To use this book, you’ll need to have Visual Basic .NET or Visual Studio .NET installed on your computer. (See Chapter 1 for m ore information on versions of Visual Basic .NET and Visual Studio .NET.) I n addition, you’ll need SQL Server 2000, and for som e of the chapters, you’ll need SQL Server 2000 updated with Web releases 1, 2, and 3. Chapter 6 gives the URLs for downloading Web releases 1 and 2. Chapter 12 gives two different URLs for downloading Web Release 3— one with the SQL Server 2000 Web Services Toolkit and the other without it. For selected chapters, you can run the samples with less software or different operating systems than the one that I used. For example, chapters 2 through 5 will run on any operating system that supports a comm ercial version of SQL Server 2000, such as Windows 98 or a m ore recent Windows operating system. Chapter 7 requires an operating system that supports Windows NT security, such as Windows 2000 or Windows XP Professional. Chapter 6, Chapter 11, and
  • 17. Chapter 13 require Microsoft I nternet Inform ation Services (I I S). I n addition, Chapter 6 requires the installation of Web releases 1 and 2. For Chapter 11, your system needs to m eet the m inim um requirem ents for ASP.NET. (See a note in the “How Does ASP.NET Relate to ASP?” section of Chapter 8.) Several of the samples in Chapter 1 3 require Web Release 3 and its associated SQL Server 2000 Web Services Toolkit. Sam ple Files Sample files for this book can be found at the Microsoft Press Web site, at http: / / www.m icrosoft.com/ m spress/ books/ 5792.asp. Clicking the Com panion Content link takes you to a page from which you can download the sam ples. Supplem ental content files for this book can also be found on the book’s companion CD. To access those files, insert the companion CD into your computer’s CD-ROM drive and make a selection from the menu that appears. I f the AutoRun feature isn’t enabled on your system (if a m enu doesn’t appear when you insert the disc in your computer’s CD-ROM drive), run StartCD.exe in the root folder of the com panion CD. I nstalling the sam ple files on your hard disk requires approximately 15.3 MB of disk space. I f you have trouble running any of these files, refer to the text in the book that describes these programs. Aside from the sample files that this book discusses, the book’s supplem ental content includes a stand-alone eBook installation that will allow you to access an electronic version of the print book directly from your desktop. Support Every effort has been m ade to ensure the accuracy of this book and the contents of the companion CD. Microsoft Press provides corrections for books through the World Wide Web at the following address: http: / / www.m icrosoft.com/ m spress/ support To connect directly to the Microsoft Press Knowledge Base and enter a query regarding a question or an issue that you may have, go to: http: / / www.m icrosoft.com/ m spress/ support/ search.asp If you have comments, questions, or ideas regarding this book or the companion content, or questions that are not answered by querying the Knowledge Base, please send them to Microsoft Press via e-mail to: mspinput@m icrosoft.com Or via postal mail to: Microsoft Press Attn: Programm ing Microsoft SQL Server 2000 with Microsoft Visual Basic .NET Editor One Microsoft Way Redm ond, WA 98052-6399 Please note that product support is not offered through the above mail address. For product support information, please visit the Microsoft Support Web site at: http: / / support.m icrosoft.com
  • 18. Chapter 1. Getting Started w ith Visual Basic .NET for SQL Server 2 00 0 This book aims to give professional developers the background that they need to program SQL Server applications with Microsoft Visual Basic .NET. This overall goal implies three guidelines: • First, the book targets practicing developers. I n my experience, these are busy professionals who need the details fast. These individuals already know how to build applications. They buy a book to learn how to build those applications with a specific set of tools. • Second, the book is about building applications for SQL Server 2000. This focus justifies in-depth coverage of SQL Server program m ing topics— in particular, T-SQL, Microsoft’s extension of the Structured Query Language (SQL). • Third, the book illustrates how to program in Visual Basic .NET, but with particular emphasis on database issues for SQL Server 2000. Special attention goes to related .NET technologies, such as the .NET Fram ework, ADO.NET, ASP.NET, and XML Web services. My goal in this chapter is to equip you conceptually for the rest of the book. Therefore, this chapter includes material that acquaints you with application developm ent techniques and topics for SQL Server 2000 and Visual Basic .NET. The discussion of the samples in this chapter generally aim s to convey broad approaches instead of how to run the sample. All the remaining chapters except for Chapter 8, another conceptual chapter, have sam ples with instructions aim ed at professional developers. I believe that the overwhelm ing majority of professional Visual Basic developers have no hands-on fam iliarity with Visual Basic .NET and its related technologies. If you already knew Visual Basic .NET, it wouldn’t make any sense to buy a book describing how to use it. This chapter therefore focuses on how to get started with Visual Basic .NET and one of its core related technologies for those building SQL Server applications— ADO.NET. I also believe that m ost Visual Basic developers don’t have an intimate knowledge of SQL Server— especially for creating user-defined objects, such as tables, views, and stored procedures. This capability can em power you to build m ore powerful and more secure applications. As you learn about database objects and how to create them in Chapter 2 through Chapter 7, reflect back on the Visual Basic .NET coverage in this chapter and how to marry database creation techniques and Visual Basic .NET developm ent techniques. One of the best tools to build database objects is SQL Server 2000 Query Analyzer. This chapter’s closing section conveys the basics of Query Analyzer that you need to follow the sam ples in Chapter 2 through Chapter 7. Visual Studio .NET, the Visual Basic .NET I DE Visual Studio .NET is the new m ultilanguage integrated developm ent environm ent (I DE) for Visual Basic, C# , C+ + , and JScript developers. I f you are developing solutions for Visual Basic .NET, I definitely recom mend that you use Visual Studio .NET as your developm ent environm ent. This section dem onstrates how to get started using Visual Studio .NET for developing solutions with Visual Basic .NET.
  • 19. Visual Basic .NET is available as part of Visual Studio .NET in four editions: • Professional • Enterprise Developer • Enterprise Architect • Academ ic All four editions of Visual Studio .NET include Visual Basic .NET, Microsoft Visual C# .NET, Microsoft Visual C+ + .NET, and support for other languages. I n addition, Microsoft offers Visual Basic .NET Standard, which doesn’t include Visual C# .NET or Visual C+ + .NET. Because this book targets professional Visual Basic developers creating SQL Server applications, it uses the Enterprise Developer Edition of Visual Studio .NET. You may notice some differences if you’re using another edition. Visual Studio .NET can be installed on computers running one of five operating system s: Windows 2000, Windows NT, Windows XP, Windows ME, and Windows 98. Not all the .NET Framework features are available for each operating system. For example, Windows 98, Windows Me, and Windows NT don’t support developing ASP.NET Web applications or XML Web services applications. The samples for this book are tested on a computer running Windows 2000 Server, which does support all .NET Fram ework features. Starting Visual Studio .NET To open Visual Studio .NET, click the Start button on the Windows taskbar, choose Programs, and then choose Microsoft Visual Studio .NET. Visual Studio displays its integrated developm ent environm ent, including the Start Page (unless you previously configured Visual Studio to open differently). From the Start Page, you can configure Visual Studio to work according to your developm ent preferences, and you can start new solutions as well as open existing projects. Configuring Visual Studio .NET for Visual Basic .NET Use the links on the left side of the Start Page to begin configuring Visual Studio .NET for developing solutions in Visual Basic .NET. Click the My Profile link to open a pane in which you can specify an overall profile as well as individually indicate your preferences for Keyboard Schem e, Window Layout, and Help Filter. You also can designate the initial page that Visual Basic .NET displays. When you are beginning, it m ay be particularly convenient to choose Show Start Page. As a Visual Basic developer who has worked with Visual Basic 6, you m ight feel m ost familiar with a layout that reflects your prior developm ent environm ent. Figure 1- 1 shows these My Profile selections. Figure 1 -1 . My Profile selections for starting Visual Studio .NET for a Visual Basic developer.
  • 20. Using the Start Page After setting your profile, you can return to the initial Start Page pane by choosing the Get Started link from the menu on the left border. I f you had created previous solutions, the last four m odified projects would appear on the Projects tab of the Start Page. The tab shows project nam es along with date last modified. I f a project you want to view doesn’t appear on the list, you can click the Open Project link to display the Open Project dialog box and then navigate to a directory containing the previously created solution. Select the project’s folder that you want to open in the I DE, and double-click the solution file (.sln) for the project. The next section illustrates this process in the context of a sample project. To create a new solution, click the New Project link to open the New Project dialog box. I f you saved preferences such as those shown in Figure 1-1, the dialog will automatically select Visual Basic Projects in the Project Types pane of the New Project dialog box. On the right, you can select a template for launching a project. Table 1-1 shows the project template nam es along with a brief description available from the Enterprise Developer Edition of Visual Studio .NET. Choosing a template (by clicking OK after selecting a template) opens a project ready for creating the type of solution that you want to develop. When Visual Studio .NET saves the tem plate to start a new project, it specifies either a file folder or a Web site for the template’s files; you can override the default nam es for the file folder and Web site.
  • 21. Exploring the Variety of Random Documents with Different Content
  • 22. CHAPTER XIV. The hurry and confusion of the battle was over; order was greatly restored; and the victorious army had encamped on the banks of the river, when Philip Augustus retired to his own tent; and, after having been disarmed by his attendants, commanded that they should leave him alone for an hour. No one was permitted to approach; and the monarch sat down to meditate over the vast and mighty deed he had accomplished. Oh, what a whirlpool of contending feelings must have been within his bosom at that moment! Policy, triumph, ambition, hate, revenge, and love, each claimed their place in his heart. The recollection of the difficulties he had overcome; the fresh memory of the agitating day in which he had overcome them; the glorious prospects yet to come--the past, the present, and the future, raised their voices together, and, with a sound like thunder, called to him, "Rejoice!" But Philip Augustus sat with his hands clasped over his eyes, in deep and even melancholy thought. A feeling of his mortality mingled, he knew not why or how, even with the exultation of his victory. To his mind's eye, a shadow, as if from the tomb, was cast over the banner of his triumph. A feeling of man's transitory littleness,--a yearning after some more substantial glory, chastened the pride of the conqueror; and, bending the knee before Heaven's throne, he prayed fervently to the Giver of all victory.
  • 23. After long, deep thought, he recalled his attendants; received several messengers that had come on from Lille; and, ordering the hangings of his tent to be drawn up, he commanded the various chieftains who had distinguished themselves in that day's conflict to be called around him. It was a beautiful summer evening; and the rays of the declining sun shone over the field of battle, into the tent of the victor, as he sat surrounded by all the pomp of royalty, receiving the greatest and noblest of his land. For each he had some gratulatory word, some mention of their deeds, some praise of their exertions; and there was a tempered moderation in his smile, a calm, grave dignity of aspect, that relieved his greater barons from the fears which even they, who had aided to win it, could not help feeling, respecting the height to which such a victory might carry his ambition. There was not a touch of pride in his deportment--no, not even of the humility with which pride is sometimes fond to deck itself. It was evident that he knew he had won a great battle, and rejoiced--that he had vanquished his enemies--that he had conquered a confederated world;--but yet he never felt himself more mortal, or less fancied himself kindred to a god. He had triumphed in anticipation--the arrogance of victory had exhausted itself in expectation; and he found it not so great a thing to have overcome an universe as he had expected. "Thanks, brave Burgundy! thanks!" cried he, grasping the hand of the duke, as he approached him. "We have won a great triumph; and Burgundy has fully done his part. By my faith! Lord Bishop of Beauvais, thy mace is as good a weapon as thy crosier. I trust thou mayest often find texts in Scripture to justify thy so smiting the king's enemies." "I spill no blood, sire," replied the warlike bishop: "to knock on the head, is not to spill blood, let it be remarked."
  • 24. "We have, at all events, with thine aid, my Lord of Beauvais," said the king, smiling at the prelate's nice distinction,--"we have, at all events, knocked on the head a great and foul confederation against our peace and liberties.--Ha! my young Lord of Champagne! Valiantly hast thou won thy knighthood.--Guillaume des Barres, thou art a better knight than any of the round table; and to mend thy cellarage, I give thee five hundred acres in my valley of Soissons. And Pierre de Dreux, too, art thou, for once in thy life, satisfied with hard blows? De Coucy, my noble De Coucy! to whom I did some wrong before the battle. As thou hast said thyself, De Coucy, God send me ever such traitors as thou art! However, I have news for thee, will make thee amends for one hard word. Welcome, St. Valery!--as welcome as when you came to my succour this fair morning. Now, lords, we will see the prisoners--not to triumph over them, but that they may know their fate." According to the king's commands, the several prisoners of high rank, who had been taken that morning, were now brought before him; a part of the ceremony to which even his own barons looked with some doubt and anxiety, as well as the captives themselves; for, amongst those who had fought on the other side, were many who were not only traitors to the king, inasmuch as violating their oath of homage rendered them so--but traitors under circumstances of high aggravation, after repeated pardon and many a personal favour; yet who were also linked, by the nearest ties of kindred, to those in whose presence they now stood as prisoners. The first that appeared was the Earl of Salisbury, who, in the fear caused by the number of prisoners, had been bound with strong cords, and was still in that condition when brought before the king. "I am sorry to see you here, William of Salisbury," said Philip frankly. "But why those cords upon your hands? Who has dared, so unworthily, to bind a noble knight? Off with them! quick! Will you not yield yourself a true prisoner?
  • 25. "With all my heart, sir king," replied the earl, "since I may no better. The knaves tied me, I fancy, lest the prisoners should eat up their conquerors. But, by my faith! had the cowardly scum who have run from the field, but fought like even your gownsmen, we should have won few prisoners, but some glory." "For form's sake, we must have some one to be hostage for your faith," said the king, "and then good knight, you shall have as much liberty as a prisoner may.--Who will be William of Salisbury's surety?" "That will I," said De Coucy, stepping forward. "In life and lands, though I have but little of the last." "Thank thee, old friend," said the earl, grasping his hand. "We fought in different parts of the field, or we would have tried some of our old blows; but 'tis well as it is, though 'twas a bishop, they tell me, knocked me on the head. I saw him not, in faith, or I would have split his mitre for his pains." Prisoner after prisoner was now brought before the king, to most of whom he spoke in a tone to allay their fears. On Ferrand of Flanders, however, he bent his brows, strongly moved with indignation, when he remembered the presumptuous vaunting of that vain light prince, who had boasted that, within a month, he would ride triumphant into Paris. "Now, rebellious vassal," said the monarch with severe dignity of aspect, "what fate does thy treason deserve? Snake, thou hast stung us for fostering thee in our bosom, and the pleasures of Paris, shown to thee in the hospitality of our court, have made thee covet the heritage of thy lord. As thou hast boasted, so shall it befall thee; and thou shalt ride in triumph into our capital; but, by heaven's queen! it shall not be to sport with jugglers and courtesans!" Ferrand turned deadly pale, in his already excited fears, misconstruing the king's words. "I hope, my lord," said he, "that you will think well before you strike at my life. Remember, I am but your
  • 26. vassal for these lands of Flanders, in right of my wife--that I am the son of an independent monarch, and my life may not----" "Thy life!" cried Philip, his lip curling with scorn,--"Fear not for thy pitiful life! Get thee gone! I butcher not my prisoners; but, by the Lord! I will take good care that ye rebel not again! Now, Renault of Boulogne," he continued, turning to the gigantic count of Boulogne, who, of all the confederates, had fought the longest and most desperately, entertaining no hope of life if taken, both from being one of the chief instigators of the confederacy, and from many an old score of rebellion not yet wiped off between himself and the king. He appeared before the monarch, however, with a frank smile upon his jovial countenance, as if prepared to endure with good humour the worst that could befall; and seeing that, as a kind of trophy, one of the pages bore in his enormous casque, on the crest of which he had worn two of the broad blades of whalebone, near six feet high, he turned laughing to those around, while the king spoke to Ferrand of Flanders--"Good faith," said he, "I thought myself a leviathan, but they have managed to catch me notwithstanding." "Now, Renault of Boulogne," said the king sternly--"how often have I pardoned thee--canst thou tell?" "Faith, my lord!" replied the count, "I never was good at reckoning; but this I do know, that you have granted me my life oftener than I either deserved or expected, though I cannot calculate justly how often." "When you do calculate, then," said Philip, "add another time to the list; but, remember, by the bones of all the saints! it is the last!" "Faith! my lord, you shall not break their bones for me," replied the count. "For I have made a resolution to be your good vassal for the future; and, as my good friend Count Julian of the Mount says, my resolutions are as immoveable as the centre."
  • 27. "Ha, Count Julian!" said the king. "You are welcome, fair count; and, by Heaven, we have a mind to deal hardly with you. You have been a comer and goer, sir, in all these errands. You have been one of the chief stirrers-up of my vassals against me; and by the Lord! if block and axe were ever well won, you have worked for them. However, here stands sir Guy de Coucy, true knight, and the king's friend; give him the hand of your daughter, his lady-love, and you save your head upon your shoulders." "My lord, it cannot be," replied old sir Julian stoutly. "I have already given the knight his answer. What I have said, is said--my resolutions are as immoveable as the centre, and I'd sooner encounter the axe than break them." "Then, by Heaven! the axe shall be your doom!" cried Philip, giving way to one of his quick bursts of passion, at the bold and obstinate tone in which his rebellious vassal dared to address him. "Away with him to the block! and know, old mover of rebellions, that your lands and lordships, and your daughter's hand, I, as your sovereign lord, will give to this brave knight, after you have suffered the punishment of your treason and your obstinacy." Sir Julian's cheek turned somewhat pale, and his eye twinkled; but he merely bit his lip; and, firm in his impenetrable obstinacy, offered no word to turn aside the monarch's wrath. De Coucy, however, stepped forward, and prayed the king, as sir Julian had been taken by his own men, to give him over to him, when he doubted not he would be able to bring him to reason. "Take him then, De Coucy," said Philip; "I give you power to make what terms with him you like; but before he quits this presence, he consents to his daughter's marriage with you, or he quits it for the block. Let us hear how you will convert him." "What I have said, is said!" muttered sir Julian,--"my resolutions are as immoveable as the centre!"
  • 28. "Sir Julian," said De Coucy, standing forward before the circle, while the prisoner made up his face to a look of sturdy obstinacy, that would have done honour to an old, well-seasoned mule, "you told me once, that I might claim your daughter's hand, if ever-- Guillaume de la Roche Guyon, to whom you had promised her, being dead--you should be fairly my prisoner, and I could measure acre for acre with your land. Now, I have to tell you, that William de la Roche fell on yonder plain, pierced from the back to the front by one of the lances of Tankerville, as he was flying from the field. You are, by the king's bounty and my good fortune, my true and lawful prisoner; and surely the power of saving your life, and giving you freedom, may be reckoned against wealth and land." "No, no!" said sir Julian. "What I have said----" But he was interrupted by the king, who had recovered from the first heat into which sir Julian's obstinacy had cast him, and was now rather amused than otherwise with the scene before him. "Hold, count Julian!" cried he, "Do not make any objection yet. The only difficulty is about the lands, it seems--that we will soon remove." "Oh, that alters the case," cried count Julian, not sorry in his heart to be relieved from the painful necessity of maintaining his resolution at the risk of his life. "If you, sire, in your bounty, choose to make him my equal in wealth--William de la Roche Guyon being dead, and I being his prisoner,--all the conditions will be fulfilled, and he shall have my daughter. What I have said is as firm as fate." "Well then," replied the king, glancing his eye towards the barons, who stood round, smiling at the old knight's mania, "we will not only make De Coucy your equal in wealth, sir Julian, but far your superior. A court of peers, lords!--a court of peers! Let my peers stand around." Such of the spectators as were by right peers of France, advanced a step from the other persons of the circle, and the king proceeded.
  • 29. "Count Julian of the Mount!" said he in a stern voice, "We, Philip the Second, king of France, with the aid and counsel of our peers, do pronounce you guilty of leze majesté; and do declare all your feofs, lands, and lordships, wealth, furniture, and jewels, forfeited and confiscate to the Crown of France, to use and dispose thereof, as shall be deemed expedient!" "A judgment! a judgment!" cried the peers while the countenance of poor Count Julian fell a thousand degrees. "Now, sir," continued the king, "without a foot of land in Europe, and without a besant to bless yourself,--William de la Roche Guyon being dead, and you that good knight's prisoner,--we call upon you to fulfil your word to him, and consent to his marriage with your daughter, Isadore, on pain of being held false and mansworn, as well as stubborn and mulish." "What I have said is said!" replied count Julian, putting forth his wonted proposition in a very crest-fallen tone. "My resolutions are always as firm as the centre.--De Coucy, I promised her to you, under such circumstances. They are fulfilled, and she is your's-- though it is hard that I must marry my daughter to a beggar. "Beggar, sir!" cried the king, his brow darkening again; "let me tell you, that though rich enough in worth and valour alone to match the daughter of a prince, sir Guy de Coucy, as he stands there, possesses double in lands and lordships what you have ever possessed. De Coucy, it is true: the lands and lordships of Tankerville, and all those fair domains upon the banks of the broad Rhone, possessed by the Count of Tankerville, who wedded your father's sister, are now yours, by a charter in our royal treasury, made under his hand, some ten years ago, and warranted by our consent. We have ourself, pressed by the necessities of the state, taken for the last year the revenue of those lands, purposing to make restitution--to you, if it should appear that the count was really dead--to him, if he returned from Palestine, whither he was said to have gone. But we find ourself justified by an unexpected event. We acted in this by the counsel of the wise and excellent hermit of
  • 30. Vincennes, now a saint in God's paradise: and we have just learned, that the count de Tankerville himself it was who died ten days ago in the person of that same Bernard, the anchorite of Vincennes. He had lived there in that holy disguise for many years; and it was so long since we had seen him, the change in his person, by fasts and macerations, was so great, and his appearance as a hermit altogether so different from what it was as the splendid Count of Tankerville, that, though not liable to forget the faces we have seen, in his case we were totally deceived. On his death-bed he wrote to us this letter, full of pious instruction and good counsel. At the same time, he makes us the unnecessary prayer of loving and protecting you. You, therefore, wed the proud old man's daughter, far his superior in every gift of fortune; and, as some punishment to his vanity and stubbornness, we endow you and your heirs with all those feofs that he has justly forfeited, leaving you to make what provision for his age you yourself may think fit." Count Julian hung his head; but here let it be said, that he had never any cause to regret that the king had cast his fortunes into such a hand; for De Coucy was one of those whose hearts, nobly formed, expand rather than contract under the sunshine of fortune. CHAPTER XV. Six days had elapsed after the scenes we have described in our two last chapters, and Philip Augustus had taken all measures to secure the fruits of his victory, when, at the head of a gay party of knights and attendants, no longer burdened with warlike armour, but garmented in the light and easy robes of peace, the conquering
  • 31. monarch spurred along the banks of the Oise, anxious to make Agnes a sharer of his joy, and to tell her that, though the crafty policy of Rome still prolonged the question of his divorce, he was now armed with power to dictate what terms he pleased, and to bring her enemies to her feet. The six months had now more than expired, during which he had consented not to see her; and that absence had given to his love all that magic light with which memory invests past happiness. The brightest delight, too, of hope was added to his feelings,--the hope of seeing joy reblossom on the cheek of her he loved, and the inspiration of the noblest purpose that can wing human endeavour carried him on,--the purpose of raising, and comforting, and bestowing happiness. It may easily be believed, then, that the monarch was in one of his gayest and most gladsome moods; and to De Coucy, who rode by his side, full of as high hopes and glad anticipations as himself, he ever and anon poured forth some of the bright feelings that were swelling in his bosom. The young knight, too, hurrying on towards the castle of Rolleboise, where Isadore, now his own, won by knightly deeds and honourable effort, still remained, uncertain of her fate--gave way at once more to the natural liveliness of his disposition; and, living in an age when Ceremony had not drawn her rigid barrier between the monarch and his vassal, suffered the high spirits, which for many months had been, as it were, chained down by circumstance, to shine out in many a quick sally and cheerful reply. The death of his companion in arms, the unhappy Count d'Auvergne, would indeed throw an occasional shade over De Coucy's mind. But the regrets which we in the present age experience for the loss of a friend in such a manner--and which De Coucy was formed to feel as keenly as any one--in that age met with many alleviations. He had died knightly in his harness, defending his
  • 32. monarch; he had fallen upon a whole pile of enemies his hand had slain; he had wrought high deeds, and won immortal renown. In the eyes of De Coucy, such a death was to be envied; and thus, though, when he thought of never beholding his friend again, he felt a touch of natural grief for his own sake; yet, as he remembered the manner of his fate, he felt proud that his friend had so finished his career. It was a bright July morning, and would have been extremely hot, had not an occasional cloud skimmed over the sky, and cast a cool though fleeting shadow upon the earth. One of these had just passed, and had let fall a few large drops of rain upon them in its course, the glossy stains of which on his black charger's neck Philip was examining with the sweet idleness of happiness, when De Coucy called his attention to a pigeon flying overhead. "A carrier pigeon, as I live! my lord!" said the knight. "I have seen them often in Palestine. Look! there is its roll of paper!" "Has any one a falcon?" cried the king, apparently more agitated than De Coucy expected to see, on so simple an event. "I would give a thousand besants for a falcon!" One of the king's pages, in the train, carried, as was common in those days even during long journies, a falcon on his wrist; and, hearing the monarch's exclamation, he, in a moment, unhooded his bird, and slipped its gesses. Lifting its keen eyes towards the skies, the hawk spread its wings at once, and towered after the pigeon. "Well flown, good youth!" cried the king. "What is thy name?" "My name is Hubert," replied the boy, somewhat abashed, "My name is Hubert, beau sire." "Hubert? What, nothing else? Henceforth, then be Hubert de Fauconpret;" and having sportively given this name to the youth--a name which descended distinguished to after years, he turned his eyes towards the falcon, and watched its progress through the sky.
  • 33. "The bird will miss his stroke, I fear me," said the king, turning towards De Coucy; and then, seeing some surprise at his anxiety painted on the young knight's countenance, he added, "That pigeon is from Rolleboise. I brought the breed from Ascalon. Agnes would not have loosed it without some weighty cause." As he spoke, the falcon towered above the pigeon, struck it, and at a whistle brought it, trembling and half dead with fear, to the page, who instantly delivered it from the clutches of its winged enemy, and gave it into the hands of the king. Philip took the scrap of paper from the poor bird's neck, caressed it for a moment, and then again threw it up into the air. At first, it seemed as if it would have fallen, from the fear which it had undergone, though the well- trained falcon had not injured it in the least. After a few faint whirls, however, it gained strength again, rose in a perpendicular line into the sky, took two or three circles in the air, and then darted off at once directly towards Paris. In the meanwhile, Philip Augustus gazed upon the paper he had thus received; and, whatever were the contents, they took the colour from his cheek. Without a word, he struck his horse violently with his spurs, urged him into a gallop, and, followed by his train as best they might, drew not in his rein till he stood before the barbican of the castle of Rolleboise. Pale cheeks and anxious eyes encountered his glance, as he dashed over the drawbridge the moment it was lowered. "The queen?" cried he, "the queen? How fares the queen?" But, without waiting for a reply, he sprang to the ground in the court, rushed past the crowd of attendants, through the hall, up the staircase, and paused not, till he reached the door of that chamber which he and Agnes had inhabited during the first months of their union; and in which, from its happy memories, he knew she would be fond to dwell. There, however, he stopped, the beating of his heart seeming almost to menace him with destruction if he took a step farther.
  • 34. There was a murmur of voices within; and, after an instant's pause, he opened the door, and gliding past the tapestry, stood at the end of the room. The chamber was dim, for the night was near; but at the farther extremity was the faint light of a taper contending with the pale remains of day. He could see, however, that his marriage-bed was arrayed like the couch of the dying, that there were priests standing round in silence, and women in tears; while one lovely girl, whose face he knew not, knelt by the bed-side, and supported on her arm the pale and ashy countenance of another, over which the grey shadow of death seemed advancing fast. Philip started forward. Could that be Agnes--that pale, blighted thing, over whose dim and glassy eyes a strange unlife-like film was drawn, the precursor of the shroud? Could that be Agnes--the bright--the beautiful--the beloved? A faint exclamation, which broke from the attendants as they beheld him, reached even the heavy ear of the dying. The film was drawn back from her eyes for a moment; life blazed up once more, and concentrated all its parting light in the full, glad, ecstatic gaze which she fixed upon the countenance of him she loved. A smile of welcome and farewell hung upon her lip; and, with a last effort, she stretched forth her arms towards him. With bitter tears, Philip clasped her to his bosom. Agnes bent down her . . . head upon his neck and died! Oh, glory! oh, victory! oh, power! Ye shining emptinesses! Ye bubbles on the stream of time! FOOTNOTES
  • 35. Footnote 1: Generally and rationally supposed to have been derived from the country which poured forth the first numerous bands of these adventurers; i.e. Brabant. See Ducange, La Chenaye du Bois, &c. Philip Augustus in the end destroyed them for a time. Footnote 2: The great companies of the fourteenth century had their type in the Brabançois, and various other bodies of freebooters, which appeared previous to that period. The chief characteristic of all of these bands was, the having degenerated from soldiers to plunderers, while they maintained a certain degree of discipline and subordination, but cast off every other tie. Footnote 3: M. Charles Nodier. Footnote 4: To ride a mare was reckoned in those days unworthy of anyone but a juggler, a charlatan, or a serf. Footnote 5: Although this act of rashness certainly breathes the spirit of romance, yet such things have been done, and even in our own day. Footnote 6: This is no fantastic remedy, but one of the most effectual the author of this work has ever seen employed. The skin of a sheep, however, is not a whit less potent in its effects than the skin of an izzard. Footnote 7: Philip Augustus, after the death of his first wife, being still a very young man, married Ingerburge, sister of Canute, King of Denmark; but on her arrival in France, he was seized with so strong a personal dislike to her, that he instantly convoked a synod of the clergy of France, who, on pretence of kindred in the prohibited degrees, annulled the marriage. Philip afterwards married the beautiful Agnes, or Mary, as she is called by some, daughter of the Duke of Istria and Meranie, a district it would now be difficult to define, but which
  • 36. comprehended the Tyrol and its dependencies, down to the Adriatic.--See Rigord Gud. Brit. Lit. Innoc. III. Cart Philip II. &c. Footnote 8: One of the four methods of electing a Pope is called by adoration, which takes place when the first Cardinal who speaks instantly (as is supposed by the movement of the Holy Ghost) does reverence to the person he names, proclaiming him Pope, to which must be added the instant suffrage of two-thirds of the assembled conclave. Footnote 9: For a fuller account of this singular person, and the effect his counsels had upon the conduct of Philip Augustus, see Rigord. Footnote 10: Later instances exist of wax having been used in the accounts of the royal treasury of France. Footnote 11: The Chronicle of Alberic des Trois Fontaines gives some curious particulars concerning this personage, and offers a singular picture of the times. Footnote 12: The difference between the chaperon, or hood, and the aumuce was, that the first was formed of cloth or silk, and the latter of fur.--Dic. des Franc. Footnote 13: The name of Augustus was given to Philip the Second, even in the earlier part of his lifetime, although Mézerai mistakingly attributes it to many centuries afterwards. Rigord, the historian and physician, who died in the twenty-eighth year of Philip's reign, and the forty-second of his age, styles him Augustus, in the very title of his manuscript. Footnote 14: It will be understood that this sudden appearance of the legate is a historical fact.
  • 37. Footnote 15: Ducange cites the following formula from a work I cannot meet with. The passage refers to a fraternity of arms between Majon, high admiral of Sicily, and the archbishop of Palermo. "Dictum est præterea quod ii, juxta consuetudinem Siculorum, fraternæ fœdus societatis contraxerint, seseque invicem jurejurando astrinxerunt ut alter alterum modis omnibus promoveret, et tam in prosperis quàm in adversis unius essent animi, unius voluntatis atque consilii; quisquis alterum læderet, amborura incurreret offensam." The same learned author cites a declaration of Louis XI. where he constitutes Charles, Duke of Burgundy, his sole brother in arms, thereby seeming to imply that this adoption of a brother in arms was restricted to one.--Ducange, Dissert. xxi. Footnote 16: This singular picture of the barbarism of the age immediately preceding that of Philip Augustus is rendered as literally as possible from the Life of Louis le Gros by Suger, Abbot of St. Denis. Footnote 17: This part of the dress was a small pouch borne under the arm, and called escarcelle, or pera, when carried by pilgrims to the Holy Land. With the utmost reverence for the learning, talent, and patience of Ducange, it appears to me that he was mistaken in his interpretation of a passage of Cassian, relative to this part of the pilgrim's dress. The sentence in Cassian is as follows: "Ultimus est habitus eorum pellis caprina, quæ melotes, vel pera appellatur, et baculus;"
  • 38. which Ducange affirms to mean, that they wore a dress of goat-skins, a wallet, and a stick. Embarrassed by taking habitus in the limited sense of a garment, I should rather be inclined to think that the author merely meant that the last part of their (the monks') dress was what is called a pera, made of goat-skins, and a stick, and not three distinct articles, as Ducange imagines.--See Ducange, Dissert. xv. Footnote 18: Guillaume le Breton says unqualifiedly, that Richard Cœur de Lion invented the arbalète, or cross-bow. Brompton, on the other hand, only declares that he revived the use of it, "hoc genus sagittandi in usum revocavit." Footnote 19: This must not be looked upon as an expression hazarded without authority, notwithstanding its homeliness. The only titles of honour known in those days were Monseigneur, My Lord; Illustres Seigneurs, applied in general to an assembly of nobles; and Beau Sire, or Fair Sir, which was not only bestowed upon kings, on all occasions, but, even as lately as the reign of St. Louis, was addressed to God himself. Many prayers beginning Beau Sire Dieu are still extant. Footnote 20: Eleanor Plantagenet, who was detained till her death, to cut off all change of subsequent heirs in the line of Geoffrey Plantagenet, John's elder brother. Footnote 21: I know not precisely how far back a curious antiquary might trace the existence of such places of public reception. I find one mentioned, however, in the Chronicle of Vezelai, about fifty years prior to the period of which I write. Footnote 22: There are various differences of opinion concerning the persons to whom the use of the haubert was confined. Ducange implies, from a passage in Joinville, that this part of the ancient suits of armour was the privilege of a knight. Le
  • 39. Laboureur gives it also to a squire. But the Brabançois and other bands of adventurers did not subject themselves to any rules and regulations respecting their arms, as might be proved from a thousand different instances. Footnote 23: This conversation is reported by the chroniclers of the time to have taken place previous to Arthur's confinement in the tower of Rouen. Footnote 24: The French writers of that day almost universally agree in attributing the death of Arthur to John's own hand. The English writers do not positively deny it, and we have indubitable proof that such was the general rumour through all the towns and castles of Europe at the time.--See Guill. Guiart. Guill. de Nangis. Guill. le Breton. Mat. Paris, &c. Footnote 25: It has been asserted that these troops received no pay, but supported themselves by plunder. I find them, however, called mercenaries in more than one instance, which clearly implies that they fought for hire. Footnote 26: Constable of Normandy in the year 1200, and following, as appears from a treaty between John and Philip, concluded at Gueuleton. Footnote 27: Seldon has said that the custom of bearing coronets by peers is of late days. In this assertion, however, he is apparently mistaken, the proofs of which may be seen at large in Ducange, Dissért, xxiv. R. Hoved. 792. Hist. des Compte de Poitou, &c. The matter is of little consequence, except so far as the representation of the manners and customs of the times is affected by it. Footnote 28: The closed crown was not introduced until the reign of Louis XII. or Francis I.
  • 40. Footnote 29: A different banner from the famous oriflamme which was the standard of St. Denis. Footnote 30: Lacurne de St. Palaye was decidedly wrong in attributing the use of the lance solely to knights. Besides the example before given, the present instance of the serjeants of Soissons puts the matter beyond doubt. The words of Guillaume Guiart are-- "Serjanz d'armes cent et cinquante. Criant Monjoie! ensemble brochent; Vers les rens des Flamens deseochent Les pointes des lances enclines," &c. That the serjeants of arms of Soissons were simple burghers is evident from the contempt with which the Flemish knights received them--Guil. le Breton, in vit. Phil. Aug. Footnote 31: This circumstance, however extraordinary, is not the less true; and though attributed by the various chroniclers to various persons, is mentioned particularly by all who have described the battle of Bovines.
  • 41. THE END. LONDON: Printed by A. SPOTTISWOODE, New-Street-Square.
  • 42. *** END OF THE PROJECT GUTENBERG EBOOK PHILIP AUGUSTUS; OR, THE BROTHERS IN ARMS *** Updated editions will replace the previous one—the old editions will be renamed. Creating the works from print editions not protected by U.S. copyright law means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg™ electronic works to protect the PROJECT GUTENBERG™ concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for an eBook, except by following the terms of the trademark license, including paying royalties for use of the Project Gutenberg trademark. If you do not charge anything for copies of this eBook, complying with the trademark license is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. Project Gutenberg eBooks may be modified and printed and given away—you may do practically ANYTHING in the United States with eBooks not protected by U.S. copyright law. Redistribution is subject to the trademark license, especially commercial redistribution. START: FULL LICENSE
  • 43. THE FULL PROJECT GUTENBERG LICENSE
  • 44. PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK To protect the Project Gutenberg™ mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase “Project Gutenberg”), you agree to comply with all the terms of the Full Project Gutenberg™ License available with this file or online at www.gutenberg.org/license. Section 1. General Terms of Use and Redistributing Project Gutenberg™ electronic works 1.A. By reading or using any part of this Project Gutenberg™ electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg™ electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg™ electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. 1.B. “Project Gutenberg” is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg™ electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg™ electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg™ electronic works. See paragraph 1.E below.
  • 45. 1.C. The Project Gutenberg Literary Archive Foundation (“the Foundation” or PGLAF), owns a compilation copyright in the collection of Project Gutenberg™ electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg™ mission of promoting free access to electronic works by freely sharing Project Gutenberg™ works in compliance with the terms of this agreement for keeping the Project Gutenberg™ name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg™ License when you share it without charge with others. 1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg™ work. The Foundation makes no representations concerning the copyright status of any work in any country other than the United States. 1.E. Unless you have removed all references to Project Gutenberg: 1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg™ License must appear prominently whenever any copy of a Project Gutenberg™ work (any work on which the phrase “Project Gutenberg” appears, or with which the phrase “Project Gutenberg” is associated) is accessed, displayed, performed, viewed, copied or distributed:
  • 46. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook. 1.E.2. If an individual Project Gutenberg™ electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg™ electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg™ License for all works posted with the permission of the copyright holder found at the beginning of this work. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg™. 1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1
  • 47. with active links or immediate access to the full terms of the Project Gutenberg™ License. 1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg™ work in a format other than “Plain Vanilla ASCII” or other format used in the official version posted on the official Project Gutenberg™ website (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original “Plain Vanilla ASCII” or other form. Any alternate format must include the full Project Gutenberg™ License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg™ works unless you comply with paragraph 1.E.8 or 1.E.9. 1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg™ electronic works provided that: • You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg™ works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg™ trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, “Information
  • 48. about donations to the Project Gutenberg Literary Archive Foundation.” • You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg™ License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg™ works. • You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. • You comply with all other terms of this agreement for free distribution of Project Gutenberg™ works. 1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™ electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from the Project Gutenberg Literary Archive Foundation, the manager of the Project Gutenberg™ trademark. Contact the Foundation as set forth in Section 3 below. 1.F. 1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg™ collection. Despite these efforts, Project Gutenberg™ electronic works, and the medium on which they may be stored, may contain “Defects,” such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or
  • 49. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! ebookultra.com