Avatar billede martin181 Nybegynder
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?
Avatar billede sone Nybegynder
09. maj 2001 - 12:45 #1
Du skal afslutte dine strenge.

STRSQL = \"SELECT * FROM Tasks WHERE Tasknumber=\'\" & REQUEST.FORM(\"Task\") & \"\'\"
Avatar billede martin181 Nybegynder
09. maj 2001 - 12:49 #2
nu virker det - tak for hjælpen
Avatar billede martin181 Nybegynder
09. maj 2001 - 13:20 #3
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
Avatar billede sone Nybegynder
09. maj 2001 - 13:22 #4
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\"
Avatar billede martin181 Nybegynder
09. maj 2001 - 13:25 #5
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!
Avatar billede martin181 Nybegynder
09. maj 2001 - 13:40 #6
Bare glem det - jeg opretter et nyt spørgsmål - så behøver du ikke at arbejde gratis..;-)
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