14. september 2002 - 19:21Der 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
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 %>
Prøv denne: <% Set personer = Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM personoplysninger WHERE id = " & Request.QueryString("id")&" personer.Open SQL, database, 3, 3 %>
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 %>
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
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.update personer.close Set personer = Nothing
Response.Redirect("eksempel8.asp") %>
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.