[thelist] Insert Nothing
Ken Schaefer
ken.schaefer at gmail.com
Tue Sep 28 01:09:03 CDT 2004
Hi,
This is a OT to your original question, but you should *never* use the
code below (it's similar to the code that Ultradev used to
autogenerate)
In your code you are:
a) opening a recordset to do an insert
b) you are implicitly opening an ADO connection. You do not have a
direct reference to that ADO connection, so you can't automatically
"release" to return it to the connection pool
If you really want to use a recordset to insert or update data, then you should:
a) explicty open a connection
b) SET the recordset's .ActiveConnection to the connection (if you
don't use SET, you are doing an implicit LET)
Personally I recommend using either an ADO command object -or- using
an SQL statement.
Some reading I recommend;
http://support.microsoft.com/?id=191572
INFO: Connection Pool Management by ADO Objects Called From ASP
(notice the box in the first column, third row)
Pooling in the Microsoft Data Access Components:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmdac/html/pooling2.asp
Your code, if you use a recordsetm it should look like:
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open <conn string>
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn ' <- note Set
(otherwise, if you use a LET, you are accessing the *default property*
of objConn which is .ConnectionString, which results in an implicit
creation of another connection object).
Cheers
Ken
On Mon, 27 Sep 2004 14:33:23 -0500, Rob Smith <rob.smith at thermon.com> wrote:
> >Why do you want to do this?
>
> I've got a site with multiple domain names pointing to the same site and the
> web traffic analyzing software does not know the difference of how people
> found the site as to which domain the used through the host headers.
>
> I just wanted to put in place a simple script that added a "tick mark" or
> row with a timestamp as the ticker when someone entered via a particular
> domain name...
>
> I ended up doing something like this:
>
> if Request.ServerVariables("HTTP_HOST") = "www.SomeDomainNameA.com" then
> set Domains = Server.CreateObject("ADODB.Recordset")
> Domains.ActiveConnection = MM_web_request_STRING
> Domains.CursorType = 0
> Domains.CursorLocation = 2
> Domains.LockType = 3
> Domains.Source = "INSERT INTO Domains_comActivity (void) values
> ('')"
> Domains.Open()
> else if
>
> The auto_increment is doing it's job as well as the timestamp is recording
> when. The only way I accomplished this was add a "void" column and inserted
> nothing.
>
> I was just hoping for a way to do this without involving that extra column.
> I'm sure there are a dozen different ways to accomplish this.
>
> Rob
More information about the thelist
mailing list