webForumDet fria alternativet

Stänger databas?

ASPur ASP

2 svar · 146 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Hittade detta artikelscript men det verkar inte gå att stänga databasen och recordsettet. Hur göra?

<%
on error resume next

u_action=request.querystring("u_action")
u_title=replace(trim(request.form("u_title")),"'","&#39;")
u_body=replace(trim(request.form("u_body")),"'","&#39;")
u_author=replace(trim(request.form("u_author")),"'","&#39;")
u_log=request.querystring("u_log")
script_name=request.servervariables("script_name")
%>

<%

if u_action <> "add" then 

select case u_action 
case "insert"

sql = "insert into articles (title,body,author)"
sql = sql & " values( '" & u_title & "' , '" & u_body & "' , '" & u_author & "' )" 

case "display"
sql="select * from articles where log = "&u_log

case else
sql="select * from articles order by date desc "
end select

accessdb="articles" 
cn="driver={Microsoft Access Driver (*.mdb)};"
cn=cn & "dbq=" & server.mappath(accessdb)
Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open sql, cn

if u_action <> "insert" then
if rs.eof then
response.redirect script_name
end if
end if

%>
<html>
<title>Recent Articles</title>
<body bgcolor="#FFFFFF">

<%
if u_action="insert" then %>
Your Article was added.<br>
<% else
 %>
<% do while not rs.eof and counter < 6

counter=counter+1 %>
<% if u_action <> "display" then %>
<a href="<%= script_name %>?u_action=display&u_log=<%= rs("log")%>"><%= rs("title") %></a> <%= rs("date") %><br>
<% else %>
<b><%= rs("title") %></b><br>
by <%= rs("author") %>
<p>
<pre>
<%= rs("body") %>
</pre>
<% end if %>
<% 
rs.movenext
loop %>
<% end if
end if
 %>

<% if u_action="add" then
  %>
<script Language="JavaScript">
<!-- 
function Blank_TextField_Validator(form)
{

if (form.u_title.value == "")
{
alert("Please fill in the title field.");
form.u_title.focus();
return (false);
}

if (form.u_body.value == "")
{
alert("Please fill in the body field.");
form.u_body.focus();
return (false);
}

if (form.u_author.value == "")
{
alert("Please fill in the author field.");
form.u_author.focus();
return (false);
}

return (true);
}

//-->
</script>
<form method="post" action="<%= script_name %>?u_action=insert"  onsubmit="return Blank_TextField_Validator(this)">
Title<br>
<input type="text" name="u_title" size="65"><p>
Body<br>
<textarea rows="8" name="u_body" cols="65"></textarea><p>
Author<br>
<input type="text" name="u_author" size="65"><p>

<input type="submit" value="Submit">
</form>
<% else
 %>
<p><a href="<%= script_name %>">View Recent Articles</a><br>
<a href="<%= script_name %>?u_action=add">Add Your Article</a>
<% end if %>
Medlem sedan nov. 20017 144 inlägg
#2

Nej, nu funkar det med

rs.close
set rs=nothing
cn.close
set cn=nothing

Tack ändå!

Medlem sedan feb. 200112 078 inlägg
#3

Jag antar att du försökte stänga connection-objektet först? Då kan du inte stänga recordset:et, eftersom det försvinner då. Stäng alltid rs först.

------------------
Har du prövat vår nya miljövänliga soppåse i jaktarm?

133 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)