09. maj 2001 - 12:43
Der er
5 kommentarer og 1 løsning
Hvad er fejlen? Overføre felt fra form til sql-streng
Hejsa! Jeg har følgende: <% SET RS = SERVER.CREATEOBJECT(\"ADODB.RECORDSET\") STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'& REQUEST.FORM(\"Task\")&\'\" rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic rs(\"ITInitials\") = REQUEST.FORM(\"init\") RS.UPDATE %> Men når jeg bruger det får jeg fejlen: Microsoft VBScript compilation error \'800a0401\' Expected end of statement /Dynamiske/tasktaken.asp, line 14 STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'& REQUEST.FORM(\"Task\")&\'\" ----------------------------------------------------------------^ Er der nogen der kan fortælle mig hvordan jeg skal sætte min sql streng op, for at slippe for denne fejl?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du skal afslutte dine strenge. STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'\" & REQUEST.FORM(\"Task\") & \"\'\"
nu virker det - tak for hjælpen
Nu ved jeg godt at du har svaret og har fået point, men er du frisk på den her: <% SET RS2 = SERVER.CREATEOBJECT(\"ADODB.RECORDSET\") STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'\" & REQUEST.FORM(\"Task\") & \"\'\" rs2.Open strSQL, Conn, adOpenKeyset, adLockOptimistic rs2(\"Status\") = \'Started\' RS2.UPDATE %> Jeg kan ikke få den til at virke - den skal skrive Started i status feltet i databasen for den pågældende task - fejlen er: Microsoft VBScript compilation error \'800a03ea\' Syntax error /Dynamiske/tasktaken.asp, line 26 rs2(\"Status\") = \'Started\' ----------------^ Jeg kan gost se at det er syntaxen, men hvad er den rigtige syntax, jeg har prøvet flere ting uden held
Strenge i ASP skal ALTID omsluttes af \". Det eneste tidspunkt man skal bruge \' er når man skal afgrænde tekst i en SQL-sætning rs2(\"Status\") = \"Started\"
Når jeg prøver skriver den det her: Microsoft OLE DB Provider for ODBC Drivers error \'80040e07\' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /Dynamiske/tasktaken.asp, line 15 Hele min kode ser sådan ud: <% RESPONSE.BUFFER=\"True\" %> <!-- Forbindelsen til databasen --> <% CONST ADOPENKEYSET = 1 CONST ADLOCKOPTIMISTIC = 3 SET CONN = SERVER.CREATEOBJECT(\"ADODB.CONNECTION\") CONN.OPEN \"DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=\" & Server.MapPath(\"../DATABASER/intranet.MDB\") %> <!-- Her opdateres ITinitialer --> <% SET RS = SERVER.CREATEOBJECT(\"ADODB.RECORDSET\") STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'\" & REQUEST.FORM(\"Task\") & \"\'\" rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic rs(\"ITInitials\") = REQUEST.FORM(\"init\") RS.UPDATE %> <!-- ITinitialer slut --> <!-- Her opdateres Status --> <% SET RS2 = SERVER.CREATEOBJECT(\"ADODB.RECORDSET\") STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'\" & REQUEST.FORM(\"Task\") & \"\'\" rs2.Open strSQL, Conn, adOpenKeyset, adLockOptimistic rs2(\"Status\") = \"Started\" RS2.UPDATE %> <!-- Status slut --> Hurra!
Bare glem det - jeg opretter et nyt spørgsmål - så behøver du ikke at arbejde gratis..;-)
Kurser inden for grundlæggende programmering