Avatar billede itarkiv Nybegynder
14. september 2002 - 19:21 Der er 5 kommentarer og
3 løsninger

Fejl

Hvad er der galt med denne kode?

<%
Set personer = Server.CreateObject("ADODB.Recordset")
personer.Open = "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id"), database
%>

Jeg får denne besked:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/kap3/eksempel10.asp, line 7, column 89
personer.Open = "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id"), database
Avatar billede carpediem Nybegynder
14. september 2002 - 19:30 #1
Jeg kan ikke helt gennemskue hvad du vil, men prøv:

<%
Set personer = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id")
personer.Open SQL, database, 3, 3
%>
Avatar billede itarkiv Nybegynder
14. september 2002 - 19:36 #2
Hmm. Det er skrevet af fra hæftet "Databasestyrede hjemmesider". Er der ingen der kan se om der er en slåfejl?
Avatar billede aamodtod Nybegynder
14. september 2002 - 19:40 #3
Prøv denne:
<%
Set personer = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id")&"
personer.Open SQL, database, 3, 3
%>

Odd
Avatar billede aamodtod Nybegynder
14. september 2002 - 19:44 #4
Obs, det skulle være et svar og ikke en kommentar.

Odd
Avatar billede stoney96 Nybegynder
14. september 2002 - 22:01 #5
Det er strengen som ikk opfattes som afsluttet. Gem requesten i en variabel og opbyg sql-strengen med variablen i stedet, ligesom:

<%
Set personer = Server.CreateObject("ADODB.Recordset")
MyId=Request.QueryString("id"),
personer.Open = "SELECT * FROM personoplysninger WHERE id = " & MyId, database
%>
Avatar billede mccannon Nybegynder
15. september 2002 - 00:15 #6
umm hvad er linie 7 ??
Avatar billede mr.potatohead Nybegynder
15. september 2002 - 20:41 #7
jeg srkiver af fra bogen:
<% @language="VBSCRIPT"%>

<!--#include file="forbindelse.asp" -->

<%
Set personer = Server.CreateObject("ADODB.Recordset")
personer.Open = "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id"), database, 2,2

personer("navn") = Request.QueryString("navn")
personer("gade") = Request.QueryString("gade")
personer("postnummer") = Request.QueryString("postnummer")
personer("by") = Request.QueryString("by")
personer("tlf") = Request.QueryString("tlf")
personer("email") = Request.QueryString("email")

personer.update

Response.Redirect("eksempel8.asp")
%>
%>
Avatar billede carpediem Nybegynder
16. september 2002 - 09:13 #8
mr. potatohead>> Jeg ville nok ikke bruge din bog :-) Normalt er syntaxen:
recordset.Open SQLStreng, connectionstr, Cursortype, Locktype
Jeg har aldrig før set recordset.Open = SQLStreng, connectionstr, Cursortype, Locktype

Og desuden er det god kode, at lukke din connection inden du går videre til en ny side. Ellers åbner du hurtigt for mange connections og dermed er der stor sandsynlighed for memory leak.

Og sidst men ikke mindst, så afslutter du din asp kode to gange. Så hvis jeg skulle lave dit eksempel om, så blev det til:

<% @language="VBSCRIPT"%>

<!--#include file="forbindelse.asp" -->

<%
Set personer = Server.CreateObject("ADODB.Recordset")
personer.Open "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id"), database, 2,2

personer("navn") = Request.QueryString("navn")
personer("gade") = Request.QueryString("gade")
personer("postnummer") = Request.QueryString("postnummer")
personer("by") = Request.QueryString("by")
personer("tlf") = Request.QueryString("tlf")
personer("email") = Request.QueryString("email")

personer.update
personer.close
Set personer = Nothing

Response.Redirect("eksempel8.asp")
%>
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