Avatar billede wilweb Nybegynder
09. januar 2003 - 23:48 Der er 10 kommentarer og
1 løsning

insert i SQL til Access

Det har sgu virket i dag, men nu får jeg fejl når jeg vil oprette en ny record.

Fra form kommer disse data Fx.
Request.Form("aKat") = Flash
Request.Form("aEmne") = ActionScript
Request.Form("aSyntax") = getURL("java script:window.close();");
Request.form("aEksempel") = on(release){getURL("java script:window.close();"); }




<!--#include file="_dbconn.asp"-->
<% Response.Buffer = True %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>addnew</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
if Request.Form("aKat") = 0 then    
    Response.redirect("index.asp")
else
    strSQL = "INSERT INTO koder ([aKat], [aEmne], [aSyntax], [aEksempel]) VALUES ('" & Request.Form("aKat") & "', '" & Request.Form("aEmne") & "', '" & Request.Form("aSyntax") & "', '" & request.form("aEksempel") & "')"
    'Response.Write(strSQL)
    Set rs = Conn.Execute(strSQL)
    Response.redirect("index.asp")
end if
%>
</body>
</html>
Avatar billede wilweb Nybegynder
09. januar 2003 - 23:49 #1
fejlen:
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: '[string: "ActionScript"]'
/asp/addnew.asp, line 12

linje 12: if Request.Form("aKat") = 0 then
Avatar billede dgivoni Nybegynder
10. januar 2003 - 00:21 #2
har du proevet med if Request.Form("aKat") = "0"?
Avatar billede wilweb Nybegynder
10. januar 2003 - 09:25 #3
Jeg vil jo teste om Form("aKat") er tom, og ikke om den indeholder strengen "0" og det mener jeg at det er det du forslår gør.
Avatar billede dgivoni Nybegynder
10. januar 2003 - 09:34 #4
naa, om den er tom...
saa plejer = "" at virke.
Avatar billede wilweb Nybegynder
10. januar 2003 - 09:43 #5
ja, men jeg tror nu, at det er galt med den data jeg prøver at gemme. Hvis jeg prøver at gemme 1 går det godt, men hvis jeg prøver at gemme _: så kommer fejlen.
Det jeg er ved at lave er en database over de svar jeg har fået når jeg har spurgt om hjælp bl.a. herinde og derfor skal jeg gemme data som indeholder bogstaver, tal og symboler som der nu findes i programmering.
Avatar billede dgivoni Nybegynder
10. januar 2003 - 09:55 #6
ok, men saa laenge du beholder det i en streng og tager hoejde for '-tegn, saa skulle det ikke vaere et problem.
I oevrigt, saa skrev du jo at den brokkede sig i if-saetningen og ikke naar du executer din sql-saetning?
Avatar billede wilweb Nybegynder
10. januar 2003 - 10:31 #7
Jeg tror nu at det er når jeg vil excute det går galt for hvis jeg:
'Set rs = Conn.Execute(strSQL)
Response.Write(strSQL)
og udskriver strSQL skriver den det fint ud?
Kan det være noget med at data felterne i access et defineret som Text og Note?
Avatar billede dgivoni Nybegynder
10. januar 2003 - 10:39 #8
maaske. type mismatch henviser normalt til at du forsoeger at gemme en forkert type data i forhold hvordan feltet er defineret i databasen.

jeg har lige opdaget at du saetter [] rundt om dine felt-navne i insert-saetningen. Det har jeg aldrig gjort, og jeg mener ikke det er noedvendigt. Proev evt. at fjerne dem...
Avatar billede wilweb Nybegynder
10. januar 2003 - 11:06 #9
Nu virker det igen:

<%
aEksempel = Replace(request.form("aEksempel"), vbCrlf, "<BR>")
if Request.Form("aKat") = "" then 'or Request.Form("aEmne") <> 0 or Request.Form("aSyntax") <> 0 then
   
    Response.redirect("index.asp")
else
    strSQL = "INSERT INTO koder (aKat, aEmne, [aSyntax], [aEksempel]) VALUES ('" & Request.Form("aKat") & "', '" & Request.Form("aEmne") & "', '" & Request.Form("aSyntax") & "', '" & aEksempel & "')"
    'Response.Write(strSQL)
    Set rs = Conn.Execute(strSQL)
    Response.redirect("index.asp")
end if
%>
Avatar billede wilweb Nybegynder
10. januar 2003 - 11:07 #10
Tak for hjælpen
Avatar billede dgivoni Nybegynder
10. januar 2003 - 11:33 #11
det var saa lidt :-)

/David
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