Solved

Error #3704: Operation is not allowed when the object is closed

Posted on 2008-10-01
6
3,243 Views
Last Modified: 2012-05-05
I cannot figure out why I am getting that operation error. can someone please look at this and help me out?

Error #3704: Operation is not allowed when the object is closed
<%@ Language=VBScript %>

<!--#include file="includes/adovbs.inc"-->

<!--#include file="includes/ServerFunction.inc"-->

<!--#include file="Tools/userinfo.inc"-->
 

<%

vMdbFile = Server.MapPath("\virtual\data\EnergySysTC\test.mdb")

	vConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security info=False;Data Source=" & vMdbFile	
 

		'Open Database Connection

		Set Conn = Server.CreateObject("ADODB.Connection")

		Conn.Open vConnStr

		

	

	

		set OpRs = server.createobject("adodb.recordset")
 

%>

<head>

<meta name="HTML_Retention_Review_Frequency" content="">

<meta name="HTML_Last_Reviewed_Date" content="">

<meta name="HTML_Retention_Period_Start_Date" content="9/29/2008">

<meta name="HTML_Initial_Creation_Date" content="9/29/2008 10:43:54 PM">

<meta name="HTML_Record_Title_ID" content="72">

<meta name="HTML_Information_Classification" content="DOW RESTRICTED - For internal use only">

<meta name="HTML_Content_Steward" content="Cannon J u393451">

</head>
 
 

<html>

<body bgcolor="#FFFFFF" vlink=red>
 

<p>
 

<% 

' The first time this page is retrieved and any time it is

' submitted without being completely filled out, the form

' is displayed. If it is submitted and completely filled out

' the form is processed in the Else clause.

If Request("Item")="" Or Request("Description")="" Or _

   Request("Price")="" Or Request("Phone")="" Or _

   Request("Email")="" Or Request("State")="" Then 

%>
 

Please fill in all of these fields below. Be sure to choose 

an appropriate Category for your item.<p>

Be careful when entering a Password and be sure to remember what

you type. You will be required to enter the password later to 

identify you if you need to edit or delete this ad.<p>

When you are finished, click the Place Ad button.<p>
 

<form method="POST" action="placead.asp">

<table>

<tr><td>Item:</td>

<td><input type="text" size="50" name="Item"></td></tr>

<td valign=top>Description:</td>

<td><textarea name="Description" rows="6" cols="50"></textarea></td></tr>

<tr><td>Category:</td>

<td> <select name="Category" size="1">

  <option selected value="VEHICLES">Vehicles</option>

  <option value="COMPUTERS">Computers/Software</option>

  <option value="REALESTATE">Real Estate</option>

  <option value="COLLECTIBLES">Collectibles</option>

  <option value="GENERAL">General Merchandise</option>

</select></td></tr>

<tr><td>Price:</td>

<td><input type="text" size="10" name="Price"> 

</td>

</tr>

<tr><td>Phone</td>

<td><input type="text" size="15" name="Phone"> 

</td>

</tr>

<tr><td>Email:</td>

<td><input type="text" size="50" name="Email"> 

</td>

</tr>

<tr><td>State:</td>

<td><input type="text" size="2" name="State"> 

</td>

</tr>

<tr><td>Password:</td>

<td><input type="password" size="50" name="Password"> 

</td>

</tr>

<tr><td><input type="submit" value="Place Ad"></td></tr>

</table>

</form>
 

<% Else %>

<%

Dim Query, OpRs, Place
 
 
 

On Error Resume Next

%>

<font size=5><b>CATEGORY: <%=Request("Category")%></b></font>

<% 

ShowItem Request("Item"),Request("Description"),_

   Request("Price"),Request("Phone"),Request("Email"),_

   Request("State"),Date
 

		

	

		OpRs.open sql,Conn,adopenkeyset,adlockoptimistic

		

		sql = "Select * FROM tblData WHERE Category='" & _

   Request("Category") & "'"
 

      

OpRs.AddNew

OpRs("Item") = Request("Item")

OpRs("Category") = Request("Category")

OpRs("Description") = Request("Description")

OpRs("Price") = Request("Price")

OpRs("Phone") = Request("Phone")

OpRs("Email") = Request("Email")

OpRs("State") = Request("State")

OpRs("Posted") = Date

OpRs("Password") = Request("Password")

OpRs.Update

If Err.Number = 0 Then %>

<font size=5><i>Your classified ad has been placed.</i></font><p>

<a href="default.asp">Home</a><p>

<% Else %>

There was an error placing your ad.<p>

Error #<%=Err.Number%>: <%=Err.Description%><p>

<% End If %>

<% End If %>
 
 

</body>

</html>

Open in new window

0
Comment
Question by:jlcannon
  • 3
  • 2
6 Comments
 
LVL 82

Assisted Solution

by:hielo
hielo earned 300 total points
ID: 22614305
move line 92:
Dim Query, OpRs, Place


to the top of your page:
<%
Dim Query, OpRs, Place
vMdbFile = Server.MapPath("\virtual\data\EnergySysTC\test.mdb")
....
0
 
LVL 43

Assisted Solution

by:TimCottee
TimCottee earned 150 total points
ID: 22614336
Hello jlcannon,

YOu should swap the lines around so you define the value of the sql statement before you try to open the recordset!

              sql = "Select * FROM tblData WHERE Category='" & _
     Request("Category") & "'"
              OpRs.open sql,Conn,adopenkeyset,adlockoptimistic
             
Regards,

TimCottee
0
 

Author Comment

by:jlcannon
ID: 22614350
thanks, but I moved it and still get same error.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:jlcannon
ID: 22614563
I moved both suggestions and still the same error.
0
 
LVL 82

Assisted Solution

by:hielo
hielo earned 300 total points
ID: 22614859
are you sure the path to your db file is correct? Try this:
<%@ Language=VBScript %>

<!--#include file="includes/adovbs.inc"-->

<!--#include file="includes/ServerFunction.inc"-->

<!--#include file="Tools/userinfo.inc"-->

 

<%

Dim Query, OpRs, Place

On Error Resume Next
 

vMdbFile = Server.MapPath("\virtual\data\EnergySysTC\test.mdb")

Response.Write(vMdbFile)

vConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security info=False;Data Source=" & vMdbFile

 

'Open Database Connection

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open vConnStr

                

set OpRs = server.createobject("ADODB.Recordset")

%>

<head>

<meta name="HTML_Retention_Review_Frequency" content="">

<meta name="HTML_Last_Reviewed_Date" content="">

<meta name="HTML_Retention_Period_Start_Date" content="9/29/2008">

<meta name="HTML_Initial_Creation_Date" content="9/29/2008 10:43:54 PM">

<meta name="HTML_Record_Title_ID" content="72">

<meta name="HTML_Information_Classification" content="DOW RESTRICTED - For internal use only">

<meta name="HTML_Content_Steward" content="Cannon J u393451">

</head>

 

 

<html>

<body bgcolor="#FFFFFF" vlink=red>

 

<p>

 

<% 

' The first time this page is retrieved and any time it is

' submitted without being completely filled out, the form

' is displayed. If it is submitted and completely filled out

' the form is processed in the Else clause.

If Request("Item")="" Or Request("Description")="" Or _

   Request("Price")="" Or Request("Phone")="" Or _

   Request("Email")="" Or Request("State")="" Then 

%>

 

Please fill in all of these fields below. Be sure to choose 

an appropriate Category for your item.<p>

Be careful when entering a Password and be sure to remember what

you type. You will be required to enter the password later to 

identify you if you need to edit or delete this ad.<p>

When you are finished, click the Place Ad button.<p>

 

<form method="POST" action="placead.asp">

<table>

<tr><td>Item:</td>

<td><input type="text" size="50" name="Item"></td></tr>

<td valign=top>Description:</td>

<td><textarea name="Description" rows="6" cols="50"></textarea></td></tr>

<tr><td>Category:</td>

<td> <select name="Category" size="1">

  <option selected value="VEHICLES">Vehicles</option>

  <option value="COMPUTERS">Computers/Software</option>

  <option value="REALESTATE">Real Estate</option>

  <option value="COLLECTIBLES">Collectibles</option>

  <option value="GENERAL">General Merchandise</option>

</select></td></tr>

<tr><td>Price:</td>

<td><input type="text" size="10" name="Price"> 

</td>

</tr>

<tr><td>Phone</td>

<td><input type="text" size="15" name="Phone"> 

</td>

</tr>

<tr><td>Email:</td>

<td><input type="text" size="50" name="Email"> 

</td>

</tr>

<tr><td>State:</td>

<td><input type="text" size="2" name="State"> 

</td>

</tr>

<tr><td>Password:</td>

<td><input type="password" size="50" name="Password"> 

</td>

</tr>

<tr><td><input type="submit" value="Place Ad"></td></tr>

</table>

</form>

 

<%

Else 

%>

<font size=5><b>CATEGORY: <%=Request("Category")%></b></font>

<% 

ShowItem Request("Item"),Request("Description"),Request("Price"),Request("Phone"),Request("Email"), Request("State"),Date

sql = "Select * FROM tblData WHERE Category='" & Request("Category") & "'"     

OpRs.open sql,Conn,adopenkeyset,adlockoptimistic

                

OpRs.AddNew

OpRs("Item") = Request("Item")

OpRs("Category") = Request("Category")

OpRs("Description") = Request("Description")

OpRs("Price") = Request("Price")

OpRs("Phone") = Request("Phone")

OpRs("Email") = Request("Email")

OpRs("State") = Request("State")

OpRs("Posted") = Date

OpRs("Password") = Request("Password")

OpRs.Update

If Err.Number = 0 Then %>

<font size=5><i>Your classified ad has been placed.</i></font><p>

<a href="default.asp">Home</a><p>

<% Else %>

There was an error placing your ad.<p>

Error #<%=Err.Number%>: <%=Err.Description%><p>

<% End If %>

<% End If %>

 

 

</body>

</html>

Open in new window

0
 

Accepted Solution

by:
jlcannon earned 0 total points
ID: 22623239
I ended up having to do this:
dim Cat
Cat = Request("Category")
sql = "SELECT * FROM tblData WHERE Category='" & Cat & "'"

making it a variable.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now