du har inte databasen öppen i access?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
9 svar · 263 visningar · startad av PixelFix
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/
------------------
Tommy
du har inte databasen öppen i access?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
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?
------------------
Tommy
hur ser koden i kategorilista.asp resp. produktlista.asp ut?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
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>
------------------
Tommy
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.
------------------
Tommy
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
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
Det fungerar.
Du ska ha stort tack.
Nu kan jag gå vidare.
Trevlig Helg!
:D
------------------
Tommy
varsågod och trevlig älg, själv! :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>