Filen används redan????

ASP

9 svar · 278 visningar · startad av PixelFix

Medlem sedan juni 200045 inlägg
Trådstart#1

Jag kan inte visa en kategorilista i min testbutik. Kategorierna hämtas från en databas. Men filen som ska hämta kategorierna fungerar inte, jag får felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Drivrutin för ODBC Microsoft Access] Det går inte att använda '(okänt)'. Filen används redan.

/tommyweb/butiken/kategorilista.asp, line 6

På rad 6 i filen kategorilista står det:
MinCon.Open "DSN=xxxx;UID=;PWD="

Jag kan inte begripa vad som är fel. Det går att söka produkter. Någon som kan hjälpa mig? Och vad behöver ni för ytterligare information?

Adressen till testbutiken är: http://www.komvux.mariestad.se/tommyweb/butiken/

Medlem sedan juni 200032 967 inlägg
#2

du har inte databasen öppen i access?

Medlem sedan juni 200045 inlägg
#3

Nä... databasen är inte öppen.
När jag klickar på knappen "Till Butik" så körs koden i filen start.asp

<!-- #INCLUDE FILE="adovbs.inc" -->
<%
cat = TRIM( Request( "cat" ) )
IF cat = "" THEN cat = "Home"
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "DSN=xxxx;UID=;PWD="
%>
<html>
<head>
<title>Innehåll</title>
<link rel=stylesheet href="stil.css" type="text/css">
</head>
<body background="bilder/bg_innehall_ny.gif" bgproperties="fixed">
<center>
<table border="0" width=100% cellpadding=0 cellspacing=0>
<tr>
    <td height=10px></td>
</tr>
<tr>
    <td width="27px"></td>
    <td align="center"><h6>Butiken</h6></td>
</tr>
<tr>
    <td></td><td bgcolor="#53c6fb" align="center"><br>Sök produkt eller välj kategori.<br><br></td>
</tr>
<tr>
    <td></td><td bgcolor="#53c6fb" align="center"><form method="post" action="search.asp">
        <input name="searchfor" size="15">
        <input type="submit" value="Sök">
        </td></form>
</tr>

<tr>
        <td></td>
        <td bgcolor="#53c6fb">
        <font size="3"><b>
        <!-- #INCLUDE FILE="kategorilista.asp" -->
        </b></font>
        </td>
    </tr>
    </table>
    </td>

<td valign="top">
<% IF cat = "Home" THEN %>
<% ELSE %>
<!-- #INCLUDE FILE="produktlista.asp" -->
<% END IF %>
</td></tr>
</center>
</body>
</hmtl>

Tar jag bort databasanslutningen högst upp så läses kategorilista.asp in. Men då fungerar inte produktlista.asp.

Undrar var felet kan ligga?

Medlem sedan juni 200032 967 inlägg
#4

hur ser koden i kategorilista.asp resp. produktlista.asp ut?

Medlem sedan juni 200045 inlägg
#5

Kategorilista:

<link rel=stylesheet href="stil.css" type="text/css">
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set catRs = Server.CreateObject("ADODB.Recordset")
sqlString = "SELECT DISTINCT Kategori FROM Lager ORDER BY Kategori"
MinCon.Open "DSN=xxxx;UID=;PWD="
catRs.Open sqlString, MinCon
%>

<% If cat = "Home" THEN %>
<font color="red"><b></b></font>
<UL>
<% ELSE %>
<a href="start.asp?cat=Home">Home</a>
<UL>
<% END IF %>
<% WHILE NOT catRs.EOF %>
<% IF catRs( "Kategori" ) = cat THEN %>
<li><font color="red"><b>
<%=catRs( "Kategori" )%>
</b></font>
<% ELSE %>
<li><a href="start2.asp?cat=<%=catRs("Kategori")%>"><%=catRs( "Kategori" )%></a>
<% END IF %>
<% 
catRs.MoveNext
WEND 
%>
</UL>
<% catRs.Close %>

Produktlista:

<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set prodRs = Server.CreateObject("ADODB.Recordset")
sqlString = "SELECT Artnr, Kategori, Produkt, Utpris FROM Lager WHERE Kategori='" & cat & "'ORDER BY Artnr" 
MinCon.Open "DSN=xxxx;UID=;PWD="
prodRs.Open sqlString, MinCon
%>
<table width="100%" border=0 cellpadding=0 cellspacing=0>
<%
WHILE NOT prodRs.EOF
%>
<link rel=stylesheet href="stil.css" type="text/css">
<body background="bilder/bg_innehall.jpg">

<tr>
  <td width="20px"></td>
  <td width="60px"></td>
  <td><b>
  <a href="product.asp?Nr=<%=prodRs("Artnr")%>"
  <b><%=prodRs("Kategori")%></b></a>
  <br><%=prodRs("Produkt")%>
  <br><br></td>
</tr>

<%
prodRs.MoveNext
WEND
%>

</table>
Medlem sedan juni 200045 inlägg
#6

Ok! Ska ta bort kopplingarna.

Medlem sedan juni 200045 inlägg
#7

Nä... fick meddelandet:
Microsoft VBScript runtime error '800a01a8'

Object required: 'catRs'

/tommyweb/butiken/kategorilista.asp, line 11

Allting fungerade för ett par dagar sedan. Måste ha schabblat någonstans. Tagit bort något av misstag. Men vad?
Det funkar ju om jag söker på något t.ex. bok.

Medlem sedan juni 200032 967 inlägg
#8

jag hade alltså inte tänkt att du skulle ta bort dina recordset, utan endast när du sätter databaskopplingen.

ta bort följande rader i dina två filer (de fetmarkerade):

[b]Set MinCon = Server.CreateObject("ADODB.Connection")[/b]
Set prodRs = Server.CreateObject("ADODB.Recordset")
sqlString = "SELECT Artnr, Kategori, Produkt, Utpris FROM Lager WHERE Kategori='" & cat & "'ORDER BY Artnr" 
[b]MinCon.Open "DSN=xxxx;UID=;PWD="[/b]
prodRs.Open sqlString, MinCon
Medlem sedan juni 200045 inlägg
#9

Det fungerar.
Du ska ha stort tack.
Nu kan jag gå vidare.
Trevlig Helg!
:D

Medlem sedan juni 200032 967 inlägg
#10

varsågod och trevlig älg, själv! :)

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)