Avatar billede mkilic Nybegynder
14. marts 2001 - 15:16 Der er 8 kommentarer

Hvorfor kan jeg ikke indsætte i databasen?

Jeg har en form hvor i brugeren skal udfylde nogle felter og dernæst trykke på opret hvorefter han ser hvad han har indtastet. Dernæst skal han/hun ved at trykke på godkend kunne indsætte i databasen.

Jeg har prøvet det men, får flg. fejlmeddelelse.

error \'ASP 0115\'
Unexpected error

/mkilic/form/insert.asp

A trappable error occurred in an external object. The script cannot continue running.


I kan se min demo på www.datamatikeruddannelsen.dk/mkilic/form/profil20.htm

Profil20.htm

<%
Dim strFnavn, strEnavn, strAdr, strPost, strBy, strUdd, strEmail
Dim strMessage, strMessage2, strArbsted
if Request.ServerVariables(\"Content_Length\") <> 0 then
\'  Udtrækker data fra formen
strFnavn = Trim(Request.form(\"fornavn\"))
strEnavn = Trim(Request.form(\"efternavn\"))
strAdr = Trim(Request.form(\"adresse\"))
strPost = Trim(Request.form(\"postnr\"))
strUdd = Trim(Request.form(\"Uddannelse\"))
strEmail = Trim(Request.form(\"email\"))
strArbsted = Trim(Request.form(\"arbejdssted\"))
strMessage1 = Trim(Request.form(\"Erhvervsuddbox\"))
strMessage1 = Replace(strMessage1, vbcrlf, \"<BR>\" & vbcrlf)
strMessage2 = Trim(Request.form(\"Øvrigeinfobox\"))
strMessage2 = Replace(strMessage2, vbcrlf, \"<BR>\" & vbcrlf)

%>
<HTML><body>
Herunder er din profil.<br>
Fornavn: <%= strFnavn %><br>
Efternavn: <%= strEnavn %><br>
Adresse: <%= strAdr %><br
Postnr: <%= strPost %><br>
By: <%= strBy %><br>
Uddannelse: <%= strUdd %><br>
E-mail: <%= strEmail %><br>
Arbejdssted: <%= strArbsted %><br>
Erhvervs uddannelse: <%= strMessage1 %><BR>
Øvrige informationer: <%= strMessage2 %><BR>
<p><br>
<tabel>
<tr><td><a href=\"insert.asp\">Godkend</a></td><BR><BR><td><a href=\"insert.asp\">Tilbage</a></td>
</tr>
</tabel>
</body></html>

<% End If %>

Insert.asp

<%
Dim objConn, strConn, strSQL, objRS, strOutput

Set objConn = Server.CreateObject(\"ADODB.Connection\")
strConn = \"DRIVER=SQL Server; SERVER=HC-DMU-NT1; UID=DD; PWD=PDB; DATABASE=ddpdb;\"
objConn.Open strConn
Set objRS = Server.CreateObject(\"ADODB.Recordset\")
Set objRS.ActiveConnection = objConn

strSQL = \"Insert into profil values(\'\" & Request.Form(\"Fornavn\") & \"\',\'\" & Request(\"efternavn\") & \"\',\'\" & Request(\"adresse\") & \"\',\'\" & Request(\"postnr\") & \"\',\'\" & Request(\"postnr\") & \"\',\'\" & Request(\"bynavn\") & \"\',\'\" & Request(\"uddannelse\") & \"\',\'\" & Request(\"arbejdssted\") & \"\',\'\" & Request(\"kvalifikationer\") & \"\',\'\" & Request(\"Erhvervsuddbox\") & \"\',\'\" & Request(\"Øvrigeinfobox\") & \"\')\"

objConn.Execute strSQL

Set objRS = objConn.Execute(\"Select * from Profil\")
%>
<HTML><BODY>
Profil:<BR><BR>
<%
While Not objRS.EOF
  strOutput = \"<TR>\"
  strOutput = strOut & \"<TD>\" & HTMLEncode(objRS(\"MAILADRESSE\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & HTMLEncode(objRS(\"FNAVN\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & HTMLEncode(objRS(\"ENAVN\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & HTMLEncode(objRS(\"ADRESSE\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & HTMLEncode(objRS(\"POSTNR\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & HTMLEncode(objRS(\"BYNAVN\")) & \"<TD>\"
  strOutput = strOut & \"<TR>\"
  Response.Write strOut
  objRS.MoveNext
Wend

objRS.close
objConn.close
Set objRS = Nothing
Set objConn = Nothing
%>
</BODY></HTML>

Avatar billede nute Nybegynder
14. marts 2001 - 15:21 #1
prøv å skriv ut din SQL streng istedenfor å eksekvere den...og post den så vi får se den...

får du feilmelding hvor du blir henvist til et linjenmummer, og i tilfelle, hvilken linje ??

/nute
Avatar billede tpiil Nybegynder
14. marts 2001 - 15:33 #2
While Not objRS.EOF
  strOutput = \"<TR>\"
  strOutput = strOut & \"<TD>\" & Server.HTMLEncode(objRS(\"MAILADRESSE\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & Server.HTMLEncode(objRS(\"FNAVN\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & Server.HTMLEncode(objRS(\"ENAVN\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & Server.HTMLEncode(objRS(\"ADRESSE\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & Server.HTMLEncode(objRS(\"POSTNR\")) & \"<TD>\"
  strOutput = strOut & \"<TD>\" & Server.HTMLEncode(objRS(\"BYNAVN\")) & \"<TD>\"
  strOutput = strOut & \"<TR>\"
  Response.Write strOut
  objRS.MoveNext
Wend
Avatar billede nute Nybegynder
14. marts 2001 - 15:36 #3
i din while løkke henviser du til variabelen \'strOut\', men dnne skal vel være \'strOutput\' !?

/nute
Avatar billede tpiil Nybegynder
14. marts 2001 - 15:38 #4
ja det havde jeg ikke lige set :)


While Not objRS.EOF
  strOutput = \"<TR>\"
  strOutput = strOutput & \"<TD>\" & Server.HTMLEncode(objRS(\"MAILADRESSE\")) & \"<TD>\"
  strOutput = strOutput & \"<TD>\" & Server.HTMLEncode(objRS(\"FNAVN\")) & \"<TD>\"
  strOutput = strOutput & \"<TD>\" & Server.HTMLEncode(objRS(\"ENAVN\")) & \"<TD>\"
  strOutput = strOutput & \"<TD>\" & Server.HTMLEncode(objRS(\"ADRESSE\")) & \"<TD>\"
  strOutput = strOutput & \"<TD>\" & Server.HTMLEncode(objRS(\"POSTNR\")) & \"<TD>\"
  strOutput = strOutput & \"<TD>\" & Server.HTMLEncode(objRS(\"BYNAVN\")) & \"<TD>\"
  strOutput = strOutput & \"<TR>\"
  Response.Write strOutput
  objRS.MoveNext
Wend
Avatar billede tpiil Nybegynder
14. marts 2001 - 15:41 #5
men for at du skal bruge Server.HTMLEncode må felterne i db\'en ikke være tekst felter!
Avatar billede kim-allan Praktikant
11. august 2003 - 01:15 #6
du skal ændre instillingerne for din database under egenskaber
Avatar billede squashguy Nybegynder
11. august 2003 - 01:19 #7
det kan da heller være gyldig syntax at starte en streng med \"
Avatar billede squashguy Nybegynder
11. august 2003 - 01:20 #8
"test"
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