ADO: Active X Data Objects

Paperback
from $0.00

Author: Jason T. Roff

ISBN-10: 1565924150

ISBN-13: 9781565924154

Category: Applications & Languages - Databases

Getting data across platforms and formats is a cornerstone of present-day applications development. ADO: ActiveX Data Objects is both an introduction and a complete reference to ADO (ActiveX Data Objects), Microsoft's universal data access solution. You'll learn how to easily access data in multiple formats—such as email messages, Access databases, Word documents, and SQL databases—even on different platforms, without spending extra time learning every last detail about each format.\ Author...

Search in google:

The architecture of ADO (ActiveX Data Objects), Microsoft's newest form of database communication, is simple, concise, and efficient. This indispensable reference takes a comprehensive look at every object, collection, method, and property of ADO for developers who want to get a leg up on this technology.

Chapter 3: Accessing ADO with Various Languages\ Because ActiveX Data Objects expose their properties by means of COM interfaces, they can be accessed by any language that can utilize COM. In this book, we will look at accessing ADO from Visual Basic, Visual C++, and Visual J++, since these are the most commonly used tools for developing ADO applications on the Windows operating system.\ In addition to these three languages, there are two scripting languages that are already well-established: VBScript and JScript. VBScript is a lightweight subset of Visual Basic that's designed specifically for adding script to HTML documents. JScript is Microsoft's implementation of JavaScript, designed for script development within HTML documents.\ Although ADO is meant to offer the same development interface to each language from which it is accessed, some inconsistencies arise because of differences in their syntax and the development environments in which they are used. In this chapter, we will take a look at each of the five languages and learn how to get started developing ADO applications in each.\ Accessing ADO with Visual Basic\ Visual Basic is probably the most popular language in which to develop applications for ADO. It is also the language used in the examples and code throughout this book. Visual Basic is a very easy language to understand and excellent for both beginners and advanced developers.\ Referencing ActiveX Data Objects\ To write an application in Visual Basic using ActiveX Data Objects, you must first tell Visual Basic about them by adding ADO to the list of references that Visual Basic uses to run an application. You may do this by selecting the Project References menu item so that the References dialog box appears, as shown in Figure 3-1. In the Available References list box, select the latest version of Microsoft ActiveX Data Objects Library that you have installed. Now you are ready to create and use ADO objects within your current Visual Basic application.\  \ \ Figure 3-1. The References dialog box of Visual Basic\ \ \ \ \ When redistributing ADO applications, you should use the MDAC redistributable package available for download from Microsoft's web site.\ Creating ActiveX Data Objects\ In Visual Basic, you can create new ADO objects by simply referencing the ADODB classes of the Microsoft ActiveX Data Objects Library. The following piece of code creates a Connection and a Recordset object in Visual Basic:\ \ \ ' create a reference to a Connection object\ \ Dim con As ADODB.Connection\ \ \ ' create a reference to a Recordset object\ \ Dim rst AS ADODB.Recordset\ \ \ As with any other Visual Basic objects, you must instantiate them before they can be used, as in the following examples:\ \ \ ' create a new instance of the Connection object\ \ Set con = New ADODB.Connection\ \ \ ' create a new instance of the Recordset object\ \ Set rst = New ADODB.Recordset\ \ \ In the previous examples, the ADODB prefix to the ADO objects is used in case your Visual Basic development environment references another object of the same class name in a different class library. The following code illustrates how a DAO Recordset and an ADO Recordset can be created within the same project:\ \ \ ' which object model is this from?\ \ Dim rst As Recordset\ \ \ ' explicitly specifying the Data Access Object Model\ \ Dim rstDAO As DAO.Recordset\ \ \ ' explicitly specifying the ActiveX Data Object Model\ \ Dim rstADO As ADODB.Recordset\ \ \ If you know for a fact that no other class library listed in the References dialog box of your current Visual Basic application has the same class names as ADO, you may remove the ADODB prefix when declaring and instantiating object variables. However, if you are using more than one object model with the same class definitions (as in the previous example), not specifying the library from which the class should be derived tells VB to instantiate the class from the library that comes first in the list of references to the project.\ In Visual Basic, it is always a good idea to remove an object from memory once it is no longer being used. This is done by setting the object to Nothing, as follows:\ \ \ ' remove the objects \ \ Set con = Nothing\ \ Set rst = Nothing\ \ \ Using ADO with Visual Basic: An Example\ So that you can visualize how to work with ADO objects in Visual Basic, Example 3-1 uses ADO to open a connection to the Jet Biblio database and to return a recordset containing the names of its first ten authors. Each record is then written to a list box before both the Connection and Recordset objects are closed. Note that the example makes use of dynamic control creation supported by Visual Basic 6.0 or later; if you have an earlier version, simply delete the code that defines, instantiates, and sets the properties of the list box, and place a list box named lstAuthors on the form at design time.\ To begin, create a new Application EXE project, and open the Project References menu so that you see the References dialog box shown in Figure 3-1. Select the latest version of Microsoft ActiveX Data Objects that you have installed, and press the OK button.\ Now, replace the existing source code for Form1 with the code shown in Example 3-1, and run the application. That's all there is to it. Make sure that you have a Biblio.mdb database located at C:\\Program Files\\Microsoft Visual Studio\\VB98, or if you have it in another location, simply change the path in the code that points to the Access database.\ \ \ Option Explicit\ \ \ Private WithEvents lstAuthors As ListBox\ \ \ Private Sub Form_Load( )\ \ \ ' create new instances of the Connection and Recordset objects\ \ \ \ Dim con As ADODB.Connection\ \ Dim rst As ADODB.Recordset\ \ \ ' instantiate the Connection and Recordset objects\ \ Set con = New ADODB.Connection\ \ Set rst = New ADODB.Recordset\ \ \ \ ' create two strings to define the connection and the recordset\ \ \ \ Dim sConString As String\ \ Dim sSQLString As String\ \ \ \ ' Create list box control\ \ \ \ Set lstAuthors = Me.Controls.Add("vb.listbox", _\ \ "lstAuthors", _\ \ Me)\ \ \ \ lstAuthors.Visible = True\ \ \ \ \ ' open the BiblioDSN data source with the Connection object\ \ \ \ sConString = "Provider=Microsoft.Jet.OLEDB.4.0; " _\ \ & "Data Source=C:\\Program Files" _\ \ & "\\Microsoft Visual Studio" _\ \ & "\\VB98\\Biblio.mdb"\ \ \ con.Open sConString\ \ \ \ Debug.Print "Connection opened."\ \ \ ' create a Recordset object from a SQL string\ \ \ \ sSQLString = "SELECT TOP 10 Author " & _\ \ "FROM Authors"\ \ \ \ Set rst = con.Execute(sSQLString)\ \ \ \ Debug.Print "SQL statement processed."\ \ \ \ ' retrieve all the data within the Recordset object\ \ \ \ Debug.Print "Getting data now..."\ \ \ \ Do Until (rst.EOF)\ \ lstAuthors.AddItem rst("Author").Value\ \ rst.MoveNext\ \ Loop\ \ \ \ Debug.Print "End of data."\ \ \ \ ' close and remove the Recordset object from memory\ \ \ \ rst.Close\ \ Set rst = Nothing\ \ \ \ Debug.Print "Closed and removed " _\ \ & "Recordset object from memory."\ \ \ \ ' close and remove the Connection object from memory\ \ \ \ con.Close\ \ Set con = Nothing\ \ \ \ Debug.Print "Closed and removed " _\ \ & "Connection object from memory."\ \ \ End Sub\ \ \ Private Sub Form_Resize( )\ \ \ \ ' this code is added for asthetics\ \ \ \ lstAuthors.Top = 0\ \ lstAuthors.Left = 0\ \ lstAuthors.Width = Me.Width\ \ lstAuthors.Height = Me.Height\ \ \ End Sub\ \ \ A lot of this information will not make much sense to you now, but it will start to as you begin to learn how to use ActiveX Data Objects from the rest of the chapters in this book. The important technique to notice from this example is how the ADO objects are created in the beginning of the code example, and how the ADO objects are removed at the end of the code example.\ Accessing ADO with Visual C++\ Visual C++ is a much more difficult language and environment with which to develop applications for ActiveX Data Objects. Because it is so difficult, Microsoft is constantly trying to provide developers with easier ways to access ADO components.\ By far the easiest method (and the only method described here) is one that takes advantage of the #import keyword. This approach offers not only the most control to the developer, but it also allows the developer to code in a Visual Basic programming style....\ \ Example 3-1: A Simple Visual Basic Example\

Preface1Introduction to ADO32The ADO Architecture193Accessing ADO with Various Languages314The Connection Object515The Recordset Object926Fields1437The Command Object1588The ADO Event Model1839Data Shaping21610Records and Streams23611Remote Data Services26112The Microsoft .NET Framework and ADO.NET27513ADO API Reference283App. AIntroduction to SQL461App. BThe Properties Collection481App. CADO Errors500App. DThe ADO Data Control516App. EEnumeration Tables536Index585