Det tror jeg ikke har noget med din connectionstring at gøre. Det lyder til at du forsøger at aflæse en række i et tomt recordset. Har du mulighed for at vise noget kode, alternativt teste det SQL som resulterer i fejlen...?
Men da jeg selv har udfyldt access databasen med test tekst m.m., ved jeg at den ikke er tom. Jeg bruger endvidere Dreamweaver til at fremstille af Asp-siderne, connections string, forespørgelser m.v. Her kan man grafisk se de forskellige tabeller og deres indhold, når der klikkes på tabellerne. Men på de pågældende sider er der ingen kontakt til tabellerne.
Jeg er ingen haj til dette her, og Dreamweaver laveer meget af arbejdet. Men er det her du mener?
Jeg har en menu, hvor der kan udvælges en nyhed. Koden er følgende:
<% Dim nyheder Dim nyheder_numRows
Set nyheder = Server.CreateObject("ADODB.Recordset") nyheder.ActiveConnection = MM_DBLaser_STRING nyheder.Source = "SELECT * FROM nyheder ORDER BY Dato DESC;" nyheder.CursorType = 0 nyheder.CursorLocation = 2 nyheder.LockType = 1 nyheder.Open()
nyheder_numRows = 0 %>
Udfra valgene i ovenstående menu vises en valgt nyhed vha. (bla.)denne kode:
<% Dim nyhedSektion Dim nyhedSektion_numRows
Set nyhedSektion = Server.CreateObject("ADODB.Recordset") nyhedSektion.ActiveConnection = MM_DBLaser_STRING nyhedSektion.Source = "SELECT * FROM nyheder WHERE Dato LIKE '%" + Replace(nyhedSektion__MMColParam, "'", "''") + "%' ORDER BY Dato DESC" nyhedSektion.CursorType = 0 nyhedSektion.CursorLocation = 2 nyhedSektion.LockType = 1 nyhedSektion.Open()
Ja, det var det, men jeg kunne også godt tænke mig at høre om den kode der fejler kommer efter den første forspørgsel du viser eller efter den anden? Mit umiddelbare gæt vil være efter den anden, for det er den der har en betinget udvælgelse, men det finder jeg jo nok snart ud af :)
Den første forespørgsel "udskriver" en dynamisk menu indholdende datoer og overskrifter. Sidstnævnte fungere som et dynamisk links, der "opsætter" og viser en uddybende artikel (ud fra overskrift og dato). Dvs. anden forespørgsel aktiveres ud fra et parameter, der gives aktiveret "overskrift".
Det er i hvert tilfælde sådan jeg forstår det.
JEG undre mig blot over, at den siden hvor de to forespørgsler indgår vises med den dynamiskte menu, samt første nyhedsartikel.
MEN, når jeg sidder i Dreamweaver i "Remote view" tilstanden (dvs. connected til serveren), siger programmet at connection Stringen/stien ikke passer.
Ps. Fejlmeddelelsen var:
Dato:
ADODB.Field error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Kan du også vise de linier omkring det sted hvor koden fejler?
Det et godt nok en spøjs fejlmeddelelse, men det kan være at den kode hvor du læser dine recordsets, kan kaste lidt mere lys over hvorfor den kommer...
Det siger mig ikke noget i de stumper de kommer her. Det er super svært at se sammenhængene. Er det muligt at poste hele den relevante kode i sammenhæng, eller er det for stor en mundfuld?
Jeg beklager min langsomme reaktion på din sidte mail.
Men her er hele siden(håber det var det du ville have:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="Connections/DBLaser.asp" --> <% Dim nyheder Dim nyheder_numRows
Set nyheder = Server.CreateObject("ADODB.Recordset") nyheder.ActiveConnection = MM_DBLaser_STRING nyheder.Source = "SELECT * FROM nyheder ORDER BY Dato DESC;" nyheder.CursorType = 0 nyheder.CursorLocation = 2 nyheder.LockType = 1 nyheder.Open()
nyheder_numRows = 0 %> <% Dim nyhedSektion__MMColParam nyhedSektion__MMColParam = "1" If (Request.QueryString("Dato") <> "") Then nyhedSektion__MMColParam = Request.QueryString("Dato") End If %> <% Dim nyhedSektion Dim nyhedSektion_numRows
Set nyhedSektion = Server.CreateObject("ADODB.Recordset") nyhedSektion.ActiveConnection = MM_DBLaser_STRING nyhedSektion.Source = "SELECT * FROM nyheder WHERE Dato LIKE '%" + Replace(nyhedSektion__MMColParam, "'", "''") + "%' ORDER BY Dato DESC" nyhedSektion.CursorType = 0 nyhedSektion.CursorLocation = 2 nyhedSektion.LockType = 1 nyhedSektion.Open()
nyhedSektion_numRows = 0 %> <% Dim Repeat1__numRows Dim Repeat1__index
Repeat1__numRows = 10 Repeat1__index = 0 nyheder_numRows = nyheder_numRows + Repeat1__numRows %> <% Dim MM_paramName %> <% ' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters
Dim MM_keepNone Dim MM_keepURL Dim MM_keepForm Dim MM_keepBoth
Dim MM_removeList Dim MM_item Dim MM_nextItem
' create the list of parameters which should not be maintained MM_removeList = "&index=" If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" & MM_paramName & "=" End If
' add the URL parameters to the MM_keepURL string For Each MM_item In Request.QueryString MM_nextItem = "&" & MM_item & "=" If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item)) End If Next
' add the Form variables to the MM_keepForm string For Each MM_item In Request.Form MM_nextItem = "&" & MM_item & "=" If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item)) End If Next
' create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL & MM_keepForm If (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1) End If If (MM_keepURL <> "") Then MM_keepURL = Right(MM_keepURL, Len(MM_keepURL) - 1) End If If (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1) End If
' a utility function used for adding additional parameters to these strings Function MM_joinChar(firstItem) If (firstItem <> "") Then MM_joinChar = "&" Else MM_joinChar = "" End If End Function %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> function DoDateTime(str, nNamedFormat, nLCID) dim strRet dim nOldLCID
strRet = str If (nLCID > -1) Then oldLCID = Session.LCID End If
On Error Resume Next
If (nLCID > -1) Then Session.LCID = nLCID End If
If ((nLCID < 0) Or (Session.LCID = nLCID)) Then strRet = FormatDateTime(str, nNamedFormat) End If
If (nLCID > -1) Then Session.LCID = oldLCID End If
DoDateTime = strRet End Function </SCRIPT> <html> <head> <title>Stutteri Laser nyheder</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; }
function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; }
Hej Softspot! Det er snart et stykke tid siden jeg reagerede på dit sidste forslag. Det beklager jeg.
Men jeg afprøvede "næsten" dit svar. Blot brugte jeg de indbyggede server behaviors i Dreamweaver, hvor man kan teste på ligende måde.
Du havde ret! Det var ikke connections strengen det var galt med, men der i mod databasen. Jeg har derfor læst lidt mere på dette og udviklet en ny database (dog foreløbig en slags testdatabase). Så nu virker skidtet.
Jeg takker mange gange for dit arrangement i mit problem!
Det er fedt du vender tilbage og giver en tilbagemelding (også selvom du synes der går lang tid). Det giver en god fornemmelse af at trådene bliver bundet sammen i enden - super godt!
I øvrigt synes jeg det er inspirerende at høre om din indstilling til tingene - det er et seriøst modspil som giver en lyst til fortsat at hjælpe folk her på eksperten :)
Flovt, har ikke rigtigt kunne finde ud af det med pointgivning. Men nu roder jeg op i alle mine gamle og nye tråde.
Jeg skylder dig nogle point fra "gamle dage". Og jeg ved det godt!
DET ER SIMPELTHEN FOR DÅRLIGT (af mig). Kan kun BEKLAGE!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.