Avatar billede aero Nybegynder
02. juli 2003 - 00:11 Der er 17 kommentarer og
1 løsning

Fejl ang provideren eller markørtype

Nogle der kan hjælpe mig så mit script virker !!!

FEJL:
Fejltype:
ADODB.Recordset (0x800A0CB3)
Det aktuelle postsæt understøtter ikke bogmærker. Det kan skyldes en begrænsning af provideren eller af den valgte markørtype.
/nyhedscript/news.asp, line 20


CODE PÅ NEWS.ASP
<!--#include file="inklude/sqldbcn.asp"-->
<%
intPage = Request("side")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If
%>
<%
Dim rs,

Call OpenDB("C:/Inetpub/wwwroot/nyhedscript/db/db.mdb")

Set rs = objConn.Execute("SELECT * from side ORDER BY id DESC")
strNavn = rs("navn")
strAlder = rs("alder")
%>
<%
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<div><b>Side " & intPage & " af " & intPageCount & "</b></div>"
    Do While Not rs.EOF And intRecCount > 0
%>
<table border="0" width="100%">
  <tr>
    <td width="50%"><%=strNavn%></td>
    <td width="50%"><%=strAlder%> år</td>
</tr>
</table>
<%
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

Response.Write "<p class=""mainbody"">Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<b><a href=default.asp?side=" & intNum & ">" & intNum & "</a></b> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=default.asp?side=" & intPage - 1 & "><b>&#8592; Tilbage</b></a> "
Else
    Response.Write ""
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=default.asp?side=" & intPage + 1 & "><b>Frem &#8594;</b></a> "
Else
    Response.Write ""
End If

Call CloseDB
%>


CODE PÅ SQLDBCN.ASP
<%

Dim objConn

Sub OpenDB(strDB)

  Dim strCN

  strCN = ""
  strCN = strCN & "Provider=Microsoft.Jet.OLEDB.4.0;"
  strCN = strCN & "Data Source=" & strDB & ";"
  strCN = strCN & "Persist Security Info=False"
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open strCN
 
End Sub

Sub CloseDB
 
  objConn.Close
  Set objConn = Nothing
End Sub

%>


LINJE 20 PÅ NEWS.ASP

rs.AbsolutePage = intPage


Håber nogle kan få mig videre men er begyndt at bruge SUB og CALL som connection så det er første gang jeg prøve at connecte og code på den måde !!!!

MANGE TAK !!!
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:15 #1
Hvis du bruge paging skal du ikke bruger Set rs = til at hendte data med rs.Open.

Så ret denne linje:

Set rs = objConn.Execute("SELECT * from side ORDER BY id DESC")


Til disse linjer:

Set rs = Server.CreateObject("ADODB.Connection")
rs.Open = "SELECT * from side ORDER BY id DESC", objConn, 1
Avatar billede aero Nybegynder
02. juli 2003 - 00:24 #2
Så får jeg denne fejl:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F2)
Id var ventet
/nyhedscript/news.asp, line 9, column 7
Dim rs,
------^


og troede ikke jeg skulle bruge
Server.CreateObject("ADODB.Connection")

når denne var i SQLDBCN.ASP !!!
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:26 #3
Doh det var Recordset og ikke Connection ;)


Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open = "SELECT * from side ORDER BY id DESC", objConn, 1


Og bare fjern det komma som er efter rs i linje 9
Avatar billede aero Nybegynder
02. juli 2003 - 00:28 #4
Øhhh K !!

Får denne fejl:
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/nyhedscript/news.asp, line 12, column 47
rs.Open = "SELECT * from side ORDER BY id DESC", objConn, 1
----------------------------------------------^
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:30 #5
Ok, det er vist langt over min senge tid, der skal ikke være = efter rs.Open i den linje:


rs.Open "SELECT * from side ORDER BY id DESC", objConn, 1
Avatar billede aero Nybegynder
02. juli 2003 - 00:33 #6
He He okay !!!

Men den linje vi lige talte om altså linje 12 kommer med denne fejl:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Datakildenavnet er for langt.
/nyhedscript/news.asp, line 12
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:38 #7
Prøv at vend / til \ i denne linje:

Call OpenDB("C:/Inetpub/wwwroot/nyhedscript/db/db.mdb")

sådan her
Call OpenDB("C:\Inetpub\wwwroot\nyhedscript\db\db.mdb")
Avatar billede aero Nybegynder
02. juli 2003 - 00:41 #8
Nej samme fejl !!!

min nyhedscript mappe ser sådan her ud !!!

NYHEDSCRIPT
--->News.asp         
Mappe        DB --->db.mdb
Mappe        INKLUDE--->sqldbcn.asp
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:45 #9
Fejlen er novet med connection strengen indeholder noget som den ikke forstår prøv at fjerne det presist


Sub OpenDB(strDB)

  Dim strCN

  strCN = ""
  strCN = strCN & "Provider=Microsoft.Jet.OLEDB.4.0;"
  strCN = strCN & "Data Source=" & strDB & ";"
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open strCN
 
End Sub
Avatar billede aero Nybegynder
02. juli 2003 - 00:48 #10
Fjerne det du lige har skrevet !???

så skal jeg vel også fjerne call OpenDB på min news side !!
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:50 #11
hvad er linej 12?
Avatar billede aero Nybegynder
02. juli 2003 - 00:51 #12
rs.Open "SELECT * from side ORDER BY id DESC", objConn, 1
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:52 #13
PRøv lige at lave om sådan at
Set objConn = Server.CreateObject("ADODB.Connection")
komme efter dim og ikke inde i fuinctionen:


Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")

Sub OpenDB(strDB)

  Dim strCN

  strCN = ""
  strCN = strCN & "Provider=Microsoft.Jet.OLEDB.4.0;"
  strCN = strCN & "Data Source=" & strDB & ";"
  strCN = strCN & "Persist Security Info=False"

  objConn.Open strCN
 
End Sub
Avatar billede aero Nybegynder
02. juli 2003 - 00:57 #14
Nej samme fejl !!!

Jeg kan se at Server.MapPath ikke er med kan det være det !??? og jeg jeg evt prøve dette:


Dim connStr
        connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
        connStr = connStr & Server.MapPath(" & strDB & ")
        Set objConn = Server.CreateObject("ADODB.Recordset")
        objConn.Open connStr
Avatar billede aero Nybegynder
02. juli 2003 - 00:58 #15
og skal jeg evt

IKKE

og jeg jeg evt
Avatar billede eagleeye Praktikant
02. juli 2003 - 01:03 #16
Nej det går ikke når man skriver c:\inetpub\www.....\db.mdb så skal det være relative stire som /nyhedsscript/db/db.mdb

Jeg tror fejlen kommer fordi rs.Open ikke ser objConn som et ConnectionObejct

Hov du skal ikke hvad Recordset i denne linje, dt skal være connection:
Set objConn = Server.CreateObject("ADODB.Recordset")

Set objConn = Server.CreateObject("ADODB.Connection")


Det var kun i den føste linje jeg viste emd Set rs = .. det var forkert i .


Nu smutter jeg i seng.
Avatar billede aero Nybegynder
02. juli 2003 - 01:35 #17
Hej EAGLEEYE

Jeg rettede en del så min sider ser sådan her ud og det virker !!

SQLDBCN.ASP
<%
Dim connStr

Sub OpenDB

        connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
        connStr = connStr & Server.MapPath("../nyhedscript/db/db.mdb")
               
End Sub

Sub CloseDB
 
  rs.Close
  Set rs = Nothing
End Sub

%>



NEWS.ASP
<!--#include file="inklude/sqldbcn.asp"-->
<%
intPage = Request("side")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If


Call OpenDB
Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open "select [Navn],[Alder] from side " & _
        "ORDER BY [id] DESC", connStr, 3, 4


If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<div><b>Side " & intPage & " af " & intPageCount & "</b></div>"
    Do While Not rs.EOF And intRecCount > 0
   
    strNavn = rs("navn")
    strAlder = rs("alder")

%>
<table border="0" width="300">
  <tr>
    <td width="75%"><%=strNavn%></td>
    <td width="25%"><%=strAlder%> år</td>
</tr>
</table>
<%
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
Call CloseDB


Response.Write "<p class=""mainbody"">Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<b><a href=news.asp?side=" & intNum & ">" & intNum & "</a></b> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=news.asp?side=" & intPage - 1 & "><b>&#8592; Tilbage</b></a> "
Else
    Response.Write ""
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=news.asp?side=" & intPage + 1 & "><b>Frem &#8594;</b></a> "
Else
    Response.Write ""
End If
%>


HE HE

Men hvordan med de P vil du have dem !???
Avatar billede eagleeye Praktikant
02. juli 2003 - 22:52 #18
Ja ;)

Men nu er OpenDB jo bare en som ligge noget tekst ind i variablen  connStr

Call OpenDB


Du bør stadig kunne få det som jeg har vist i kommentar 02/07-2003 00:52:42 til at virker da man definere objConn som et Connection Object uden for functionen OpenDb og dermed kan den ses som et connection object. Det functionen gør er at åbne til databasen. Det virker ihvertilfælde fint for mig.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester