Avatar billede 1005 Nybegynder
24. april 2004 - 07:36 Der er 15 kommentarer og
2 løsninger

fejlmeldning, om databasestyrede websider

jeg skal skal - i følge en begynder bog om databasestyrede websider, skrive nedenstående for at hente oplysninger fra databasen:

<%
Set dbConn = Server.Createobject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/testdatabase.mdb")
dbConn.Open strDSN
%>

men jeg får denne tilbagemelding:

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/index.asp, line 17

Hvad er galt??
Avatar billede 1005 Nybegynder
24. april 2004 - 08:15 #1
ja det skulle have været denne kode, for at hente oplysninger fra databasen, den ovenstående er database connection som virker.
<%
Set personer=Server.CreateObject("ADODB.Recordset")
personer.Open"SELECT*FROMpersonoplysninger",database

Response.Write personer.Fields("navn")
%>

men jeg får denne tilbagemelding:

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/index.asp, line 17

Hvad er galt??
Avatar billede steen_hansen Forsker
24. april 2004 - 08:16 #2
Hvordan ser index.asp -> linie 17 ud?
Avatar billede 1005 Nybegynder
24. april 2004 - 08:22 #3
personer.Open"SELECT*FROM personoplysninger",database
Avatar billede steen_hansen Forsker
24. april 2004 - 08:40 #4
Prøv lige dette:

<%
Set myConn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/testdatabase.mdb")

SQL = "SELECT personer FROM personoplysninger"
Set RS = myConn.Execute(SQL)
%>

<%=RS("personer")%>

Du har skriverettigheder til mappen "db", hvor din database ligger?
Avatar billede fet321 Nybegynder
24. april 2004 - 08:42 #5
Du mangler lidt mellemrum og den rette database forbindelse.
Udskift linie 17 med denne.

personer.Open "SELECT * FROM personoplysninger", dbConn
Avatar billede steen_hansen Forsker
24. april 2004 - 08:47 #6
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/testdatabase.mdb")

SQL = "SELECT * FROM personoplysninger"
Set RS = Conn.Execute(SQL)
%>

<%=RS("personer")%>
Avatar billede fet321 Nybegynder
24. april 2004 - 08:50 #7
Rolig steen :)
Han sidder med en "begynder bog om databasestyrede websider".
Avatar billede steen_hansen Forsker
24. april 2004 - 08:52 #8
Ok :o) Håber fet321's eller mine forslag kan hjælpe :o)
Avatar billede 1005 Nybegynder
24. april 2004 - 08:54 #9
fet321 > det lykkedes takker - men hvad er/var problemet
steen hansen > jeg har ikke testet dit forslag: men hvad indeholder dette? det ser en del anderledes ud end mit udgangspkt.
- ja jeg er en begynder
Avatar billede steen_hansen Forsker
24. april 2004 - 08:57 #10
Mit forslag indeholder en databaseforbindelse

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/testdatabase.mdb")

og en SQL-forespørgsel

SQL = "SELECT * FROM personoplysninger"
Set RS = Conn.Execute(SQL)

Så kan du udskrive recordsets fra databasen med

<%=RS("personer")%>
Avatar billede steen_hansen Forsker
24. april 2004 - 08:58 #11
SQL = "SELECT * FROM personoplysninger" = Vælg alt fra tabellen personoplysninger
Avatar billede fet321 Nybegynder
24. april 2004 - 09:00 #12
Problemet var at du ikke havde indsat navnet på din database forbindelse.

Linierne:
--
Set dbConn = Server.Createobject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/testdatabase.mdb")
dbConn.Open strDSN
--
laver en forbindelse til din database. Den forbindelse har du kaldt "dbConn".

I linien:
--
personer.Open "SELECT * FROM personoplysninger", dbConn
--
åbner du dit recordset. Recordsettet skal vide hvilken databaseforbindelse det skal bruge.

Håber det forklarer hvad problemet var.
Avatar billede 1005 Nybegynder
24. april 2004 - 09:02 #13
<%
Set dbConn = Server.Createobject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/testdatabase.mdb")
dbConn.Open strDSN
%>
ovenstående er min database forbindelse copy/past fra min server/hoteludbyder, og her indledes med: Set dbConn - altså dbConn som var den rettelse fet321 foreslog. Er der generelt en sammenhæng mellem min database forbindelse og de efterfølgende koder til udtrækning af data fra en database? og dit forslag kan det benyttes hos min server/hoteludbyder?
Avatar billede fet321 Nybegynder
24. april 2004 - 09:04 #14
Der er den sammenhæng, at du når du trækker data ud, skal fortælle hvilken databaseforbindelse, der skal bruges.
Avatar billede fet321 Nybegynder
24. april 2004 - 09:04 #15
Du skal være opmærksom på, at man kan trække data ud, på flere forskellige måder.
Avatar billede 1005 Nybegynder
24. april 2004 - 09:09 #16
tak for jeres svar
steen > svar og jeg giver dig en klat point for din tid men fet321 gav mig den brugbareløsning - så han får mest
Avatar billede steen_hansen Forsker
24. april 2004 - 09:10 #17
10-4 :o)

Håber jeg har løsningen på dit andet spørgsmål lige om lidt
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