As I was working through a problem in a page today, I found myself
wondering about the nature of a non-explicitly declared recordset. I know
you can Server.CreateObject ADODB recordsets. My question is about the
recordsets instantiated via simply setting rsObj = db.Execute("stuff
here").
My assumption is that these recordsets are basic versions created by the
asp.dll as opposed to ADO(My reasoning is that if they came from the ADO
object, they would have to be explicitly created and since the only other
dll that seems to be in play is the asp.dll, it stands to reason...) . Am I
right? If so, or if not, whatever the case may be, can anyone point me to a
resource where I can learn more about these recordsets? Are they
configurable or are you locked into a 'class definition' set in stone, etc.
Ken Corrects Doug:
The Recordsets are implicitly created by ADO (just like any necessary
connection objects are implicitly created by ADO).
The properties are always the default.
David Clarifies:
Recordsets have nothing to do with ASP.dll.
Let me explain with an example and a link.
' an explicit connection object is made - ADO Connection
Set conn = Server.CreateObject("ADODB.Connection")
' a connection is opened
conn.Open strConnect
' the Execute method creates an implicit Recordset
' and rs gets a link to that recordset
Set rs = conn.Execute(SQL)
' close the implicit recordset
rs.Close
' release the tie to the variable rs
' the original recordset will be destroyed when the
' connection object goes out of scope
Set rs = Nothing
Here is a link that describes some conditions for object creation:
Your example is how I create 80% of my recordsets. Having said that, apart
from obvious explicit propertying with regard to cursors and locks etc, is
there inherent issues (performace or otherwise) in using implicit rs
objects? Your link, btw, is exactly what I am looking for. I will get a tea
and begin. Thanks.
David Continues:
It is better to explicitly create your objects, like
so that you have a handle on the original object created.
But, you can do things like below and have some peace of mind because you
don't bind the internal recordset to a global/local VBScript variable
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connString
' leave implicit recordset to ADO to handle
allData = conn.Execute(sql).GetRows()
ReleaseObj conn, True, True
This conversation string was taken from the 15Seconds ASP Listserv on 2/13/01. If you have an ASP-related question or would like to share some of your knowledge with others, you may join the list by clicking here.
Proposion N2N connects Microsoft .NET applications to Lotus Notes and Lotus Domino databases. This ADO.NET managed data provider allows you to perform blindingly fast queries and updates of Notes data from ASP.NET pages, .NET web services, Windows, or Mobile applications. An innovative SQL-like query language leverages the unique features of Notes and makes collaborative software accessible to relational database programmers.
Unlike text-based file formats image files aren't made up of words, which makes searching for an image file by keyword difficult. Instead of being able to simply open the file to see what it contains, we're stuck looking at the text around it and other metadata to determine the image's meaning. In this article, Ziran Sun shows you how to build a simple database-based image keyword system that allows you to associate keywords with images and use these keywords to make finding images easier. [Read This Article][Top]
In the second part of of his article on using MySQL with ASP.NET, Ziran Sun covers how to add a new MySQL user to the database server, assign the user the appropriate permissions, connect to the database, and build a simple ASP.NET page to perform a query. [Read This Article][Top]
Back in the days of classic ASP, if you were building a database-driven
web site, your choice was either to invest a lot of money to get a copy of Microsoft SQL Server
(or some other enterprise-ready database) or invest a lot of time finding a way to deal with the
performance and scalability limitations of Microsoft Access. Luckily these days there's
another viable alternative: MySQL. [Read This Article][Top]
Moving or copying a SQL Server database from one machine to another requires a lot of preparation in order to ensure a smooth transfer. In this article, Dina Fleet Berry examines the different methods and highlights the different issues associated with each of them. [Read This Article][Top]
There are many times when using SQL Server 2000 Query Analyzer to debug SQL statements is a better choice than debugging in Visual Studio .NET. In this article, Dina Fleet Berry explains why and walks you through the debugging process step-by step. [Read This Article][Top]
As a follow up to his article on retrieving objects from SQL Server using SQLXML and serialization, Gianluca Nuzzo discusses saving objects back to SQL Server using a schema definition file and updategrams. [Read This Article][Top]
One area that stands out when comparing ADO.NET 1.x to ADO.NET 2.0 is transaction processing. Bill Ryan shows just how easy transaction processing has become with the TransactionScope object in ADO.NET 2.0. [Read This Article][Top]
Developers often use brute force coding to marshal data between the GUI and application objects. In this article, Luther Stanton explains how to use .NET's out-of-the box data-binding functionality to make this job much easier. [Read This Article][Top]
Learn how to create a console application to queue a message in Microsoft Message Queuing (MSMQ) and then use an extended stored procedure to call the console application from a SQL Server trigger. [Read This Article][Top]
Connection pooling increases the performance of Web applications by reusing active database connections instead of creating a new connection with every request. This article shows how to monitor the connection pool, diagnose a potential problem, and apply the appropriate fix. [Read This Article][Top]
Mailing List
Want to receive email when the next article is published? Just Click Here to sign up.