qwertyMedlem sedan jan. 2001391 inlägg
Den säger att den inte kan utföra det jag begär för att object är closed. Vad göra jag har försökt och försökt...men något är fortfarande fel.
...och jag har sökt på db-kopplingar
<%
ShowItem Request("Item"),Request("Description"),_
Request("Price"),Request("Phone"),Request("Email"),_
Request("State"),Date
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access driver (*.mbd)}; DBQ=" & Server.MapPath("fpdb/classy.mdb") & "clasifieds"
Set clas = Server.CreateObject("ADODB.Recordset")
clas.Open _
"SELECT * FROM Items WHERE Category='" & _
Request("Category") & "'",_
Connect,adOpenDynamic,adLockOptimistic
clas.AddNew
clas("Item") = Request("Item")
clas("Category") = Request("Category")
clas("Description") = Request("Description")
clas("Price") = Request("Price")
clas("Phone") = Request("Phone")
clas("Email") = Request("Email")
clas("State") = Request("State")
clas("Posted") = Date
clas("Password") = Request("Password")
clas.Update
If Err.Number = 0 Then %>
<font size=5><i>Your clasified 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 %>
------------------
Qwerty
Den som söker han letar...
cascaMedlem sedan feb. 20003 262 inlägg
Jag är ingen asp-expert, men jag tycker mig se ett par fel där.. Dessutom heter det "classified" ;)
------------------
Canis meus id comedit
PatrikBMedlem sedan mars 20002 713 inlägg
Hello,
ser ut som du glömt att lägga till connection objectet efter sql utrycket så rs vet vilken koppling som ska användas
cya
------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************
qwertyMedlem sedan jan. 2001391 inlägg
Här kommer hela sidan
Felmeddelandet jag får är: The operation requested by the application is not allowed if the object is closed
<% Option Explicit %>
<!-- #include virtual="ovrigt/common/adovbs.inc" -->
<html>
<body bgcolor="#FFFFFF" vlink=red>
<!-- #include file="header.inc" --><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
%>
<% ShowHeader "Place A New Ad" %>
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 Connect
Dim clas
Dim Query
Dim Category
ShowHeader "Place A New Ad"
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
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "classifieds"
Set clas = Server.CreateObject("ADODB.Recordset")
clas.Open _
"SELECT * FROM Items WHERE Category='" & _
Request("Category") & "'",_
Connect,adOpenDynamic,adLockOptimistic
clas.AddNew
clas("Item") = Request("Item")
clas("Category") = Request("Category")
clas("Description") = Request("Description")
clas("Price") = Request("Price")
clas("Phone") = Request("Phone")
clas("Email") = Request("Email")
clas("State") = Request("State")
clas("Posted") = Date
clas("Password") = Request("Password")
clas.Update
If Err.Number = 0 Then %>
<font size=5><i>Your clasified 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>
------------------
Qwerty
Den som söker han letar...
@ndersMedlem sedan juni 200026 914 inlägg
jag förstår inte varför man envisas med att använda recordsets för insert och update.
- skriv en riktig sql-fråga istället så sparar du prestanda och klipper koden med tio rader.
- du har inte stängt några objekt, gör gärna det.
- Dessutom heter det "classified" §jr
en sql-fråga för att lägga in data i en tabell har följande syntax:
insert into [tabellen] ([fält1],[fält2],[fält3]) values (värde1, värde2, värde3)
du slipper då använda recordsetobjektet helt och hållet och klarar dig med att bara köra en ren execute med ditt connectionobjekt.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>