Avatar billede steen_hansen Forsker
29. marts 2005 - 14:19 Der er 18 kommentarer og
2 løsninger

Problemer med variabel

Hvorfor får jeg denne fejl:

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/debatten/manage.asp, line 13


Linie 13:
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = " & vPostID & "")


- ved dette script:

    vPostID = Request.QueryString("postID")

    Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = " & vPostID & "")


Variablen vPostID overføres fint og bliver udskrevet fint.
Avatar billede kalp Novice
29. marts 2005 - 14:21 #1
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & Request("svPostID") & "'
Avatar billede kalp Novice
29. marts 2005 - 14:22 #2
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & Request("svPostID") & "'")
Avatar billede kalp Novice
29. marts 2005 - 14:22 #3
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & Request.QueryString("svPostID") & "'")

sorry jeg lige spammede dig.
Avatar billede medions Nybegynder
29. marts 2005 - 14:22 #4
Hmm prøv flg.:

Set RS = Conn.Execute("SELECT * FROM [topcat] WHERE [postparent] = " & vPostID & "")

//>Rune
Avatar billede steen_hansen Forsker
29. marts 2005 - 14:32 #5
Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

- når jeg forsøger denne linie:

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & Request.QueryString("vPostID") & "'")

Helt i orden at spamme, når du hjælper, kalp :)


Rune, den hjalp ikke :/
- Long time :)
Avatar billede kalp Novice
29. marts 2005 - 14:35 #6
steen_hansen

hvilken datatype er vPostID .. number?

så skal din egen vist være sådan her

postparent hvad er det for en datatype?

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & vPostID & "'")
Avatar billede steen_hansen Forsker
29. marts 2005 - 14:40 #7
vPostID = tal, fortløbende, primær nøgle
postparent = tal

Hvis jeg prøver

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & vPostID & "'")

- får jeg

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/manage.asp, line 14

Linie 14:
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & vPostID & "'")
Avatar billede steen_hansen Forsker
29. marts 2005 - 14:40 #8
Fortløbende = autonummerering :)
Avatar billede medions Nybegynder
29. marts 2005 - 14:44 #9
Har du prøvet sådan her:

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & CInt(vPostID) & "'")

Ja, det er lang tid siden, har ikke så meget tid længere desvære ...

//>Rune
Avatar billede steen_hansen Forsker
29. marts 2005 - 14:47 #10
Nej, det kniber også med tiden her :/

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters
Avatar billede medions Nybegynder
29. marts 2005 - 14:49 #11
Er du 110% sikker på at der kommer nogen værdi ud af vPostID?
- hvad sker der hvis du skriver:

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = 1")

//>Rune
Avatar billede kalp Novice
29. marts 2005 - 14:51 #12
ja eller lige lave en response.write(vPostID) på siden
Avatar billede steen_hansen Forsker
29. marts 2005 - 15:00 #13
Jeg har dette:

vPostID = Request.QueryString("postID")
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & vPostID & "'")

Og hvis jeg skriver

Response.Write vPostID

skrives f.eks. tallet 128 ud.


Der sker ingen ændringer med

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = 1")
Avatar billede steen_hansen Forsker
29. marts 2005 - 15:01 #14
vPostID = Request.QueryString("postID")
Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & vPostID & "'")

Response.Write vPostID


- skrives 128 ud, og det er rigtigt nok.
Avatar billede steen_hansen Forsker
29. marts 2005 - 15:08 #15
Sludder:

vPostID = Request.QueryString("postID")
Response.Write vPostID

Jeg følger et link fra en anden side (manage.asp?postID=128)

Når jeg kommer ind på manage.asp og skal hive de tilsvarende indlæg (RS("content")) frem, går det galt. Desuden har jeg bøvlet meget Header Error - se evt. http://www.eksperten.dk/spm/602406. En <% Response.Buffer = True %> i toppen af dokumentet er ikke altid nok.
Avatar billede steen_hansen Forsker
29. marts 2005 - 15:20 #16
Jeg har skrevet topcat istedet for posts, sorry. Men det er kun herinde. Jeg har haft det rigtigt nok i mine egne dokumenter:

Set RS = Conn.Execute("SELECT * FROM posts WHERE postparent = '" & vPostID & "'")

og ikke

Set RS = Conn.Execute("SELECT * FROM topcat WHERE postparent = '" & vPostID & "'")
Avatar billede steen_hansen Forsker
29. marts 2005 - 15:30 #17
Nu har jeg prøvet dette her:

<%

    Response.Buffer = True
    Session.LCID = 1030

    Dim Conn, RS, vPostID

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

    vPostID = Request.QueryString("postID")

    'Set RS = Conn.Execute("SELECT * FROM posts WHERE postparent = " & vPostID & "")
    'Set RS = Conn.Execute("SELECT * FROM posts WHERE postparent = '" & vPostID & "'")
    'Set RS = Conn.Execute("SELECT * FROM posts WHERE postparent = '" & CInt(vPostID) & "'")
    Set RS = Conn.Execute("SELECT * FROM posts WHERE postparent = 105")

    If RS.EOF Then
        RS.Close
        Conn.Close
        Response.Redirect "manage.asp"
    End If

%>

<html>

<body>

<%
Do Until RS.EOF

Dim vSubject
vSubject = RS("subject")
%>

<%=vSubject%>

<%
RS.MoveNext
Loop

RS.Close
Conn.Close
%>

</body>

</html>


Der kommer ingen fejl, men der bliver til gengæld heller ikke skrevet noget ud.
Avatar billede steen_hansen Forsker
29. marts 2005 - 15:47 #18
Så er den der. Det første jeg havde lavet, var sådan set rigtigt nok, eftersom det er tal:


<%

    Response.Buffer = True
    Session.LCID = 1030

    Dim Conn, RS, vPostID

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

    vPostID = Request.QueryString("postID")

    Set RS = Conn.Execute("SELECT * FROM posts WHERE postparent = " & vPostID & "")

    If RS.EOF Then
        RS.Close
        Conn.Close
        Response.Redirect "manage.asp"
    End If

%>

<html>

<body>

<%
Response.Write RS("postID") & "<br>"
Response.Write RS("posted") & "<br>"

Do Until RS.EOF

Response.Write FormatText(RS("content"))

RS.MoveNext
Loop

RS.Close
Conn.Close
%>

</body>

</html>


kalp, læg lige et svar. Så får I begge lidt for besværet :)
Avatar billede kalp Novice
29. marts 2005 - 16:14 #19
Det er jeg glad for at høre:) Det er til at gå kold over når noget småt ikke gider:o)
Avatar billede steen_hansen Forsker
29. marts 2005 - 16:58 #20
hehe, det er rigtigt. Sk...irriterende, men løsningen lå jo lige for :oD

Takker begge for hjælpen :)
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