Avatar billede fomse Nybegynder
23. oktober 2003 - 07:25 Der er 18 kommentarer og
1 løsning

Hvorfor tilføjer den ikke?

Hvorfor tilføjer denne ikke data til databasen?

<html><head>
<title>KM-Regnskab</title>
</head><body>

<form action="km-regnskab.asp" method="post">
Dato: <input type="text" name="Dato"><br>
KM: <input type="text" name="KM"><br>
<input type="submit" value="Gem">
</form>

<%
' Databaseforbindelse - husk at angive sti til din database
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kmregnskab.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'Indsætter data i databasen
  strSQL = "Insert into ThomasJensen ("
  strSQL = strSQL & "Dato, "
  strSQL = strSQL & "KM) "
 
  strSQL = strSQL & "values("
  strSQL = strSQL & "'" & Request.Form("Dato") & "', "
  strSQL = strSQL & "'" & Request.Form("KM") & "') "

' Tæller antal poster i tabellen
strSQL = "SELECT COUNT(pID) AS Antal FROM ThomasJensen"
Set rs = myConn.Execute(strSQL)
Response.Write "<p>Du her indtastet " & rs("Antal") & " træningspas i KM-regnskabet.</p>"

' Summere antal poster i kolonnen KM
strSQL = "SELECT SUM(KM) AS Summen FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

Response.Write "<p>Du har kørt " & rs("Summen") & " kilometer ialt.</p>"

' Luk databaseforbindelse
myConn.Close
Set myConn = Nothing
%>

</body></html>

Fomse:-)
Avatar billede mm12010 Nybegynder
23. oktober 2003 - 07:41 #1
'Indsætter data i databasen
strSQL = "Insert into ThomasJensen (Dato, KM) values('"& Request.Form("Dato") &"', '"& Request.Form("KM") &"')"
Avatar billede fomse Nybegynder
23. oktober 2003 - 07:47 #2
mm212010>> Nope! Det funker heller ikke....
Avatar billede mm12010 Nybegynder
23. oktober 2003 - 07:50 #3
<%
' Databaseforbindelse - husk at angive sti til din database
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kmregnskab.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'Indsætter data i databasen
strSQL = "Insert into ThomasJensen (Dato, KM) values('"& Request.Form("Dato") &"', '"& Request.Form("KM") &"')"

' SQL sætning eksekveres
myConn.Execute(strSQL)

' Tæller antal poster i tabellen
strSQL = "SELECT COUNT(pID) AS Antal FROM ThomasJensen"
Set rs = myConn.Execute(strSQL)
Response.Write "<p>Du her indtastet " & rs("Antal") & " træningspas i KM-regnskabet.</p>"

' Summere antal poster i kolonnen KM
strSQL = "SELECT SUM(KM) AS Summen FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

Response.Write "<p>Du har kørt " & rs("Summen") & " kilometer ialt.</p>"

' Luk databaseforbindelse
myConn.Close
Set myConn = Nothing
%>
Avatar billede fomse Nybegynder
23. oktober 2003 - 08:02 #4
Hmmm nu skriver den flg. fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/KM-regnskab/km-regnskab.asp, line 21
Avatar billede mm12010 Nybegynder
23. oktober 2003 - 08:07 #5
prøv lige sådan og smid resultatet her:

strSQL = "Insert into ThomasJensen (Dato, KM) values('"& Request.Form("Dato") &"', '"& Request.Form("KM") &"')"
Response.Write(strSQL)
Avatar billede mm12010 Nybegynder
23. oktober 2003 - 08:08 #6
hvilke datatyper er dine DB-felter?
Avatar billede fomse Nybegynder
23. oktober 2003 - 08:10 #7
Resultat: Insert into ThomasJensen (Dato, KM) values('23-10-2003', '50')

Men den smidder det stadig ikke i databasen!
Avatar billede fomse Nybegynder
23. oktober 2003 - 08:12 #8
Dato= Date/Time-Short Date
KM= Number - Long Integer
Avatar billede mm12010 Nybegynder
23. oktober 2003 - 08:13 #9
strSQL = "Insert into ThomasJensen (Dato, KM) values('"& Request.Form("Dato") &"', "& Request.Form("KM") &")"
Avatar billede fomse Nybegynder
23. oktober 2003 - 08:19 #10
Stadig fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/KM-regnskab/km-regnskab.asp, line 21

Er det eksekveringen den er gal med?

Sådan se det ud nu:

<html><head>
<title>KM-Regnskab</title>
</head><body>

<form action="km-regnskab.asp" method="post">
Dato: <input type="text" name="Dato"><br>
KM: <input type="text" name="KM"><br>
<input type="submit" value="Gem">
</form>

<%
' Databaseforbindelse - husk at angive sti til din database
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kmregnskab.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'Indsætter data i databasen
strSQL = "Insert into ThomasJensen (Dato, KM) values('"& Request.Form("Dato") &"', "& Request.Form("KM") &")"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

' Tæller antal poster i tabellen
strSQL = "SELECT COUNT(pID) AS Antal FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du her indtastet " & rs("Antal") & " træningspas i KM-regnskabet.</p>"

' Summere antal poster i kolonnen KM
strSQL = "SELECT SUM(KM) AS Summen FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du har kørt " & rs("Summen") & " kilometer ialt.</p>"

' Luk databaseforbindelse
myConn.Close
Set myConn = Nothing
%>
</body></html>
Avatar billede mm12010 Nybegynder
23. oktober 2003 - 08:22 #11
'Indsætter data i databasen
strSQL = "Insert into ThomasJensen (Dato, KM) values('"& Request.Form("Dato") &"', "& Request.Form("KM") &")"

' SQL sætning eksekveres
myConn.Execute(strSQL)
Avatar billede fomse Nybegynder
23. oktober 2003 - 08:25 #12
Stadig fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/KM-regnskab/km-regnskab.asp, line 21

Kan simpelthen ikke finde ud af det!!! Kikker lidt på det og vender tilbage senere.....

Foreløbig tak:-)
Avatar billede a-torsten Nybegynder
23. oktober 2003 - 08:47 #13
Hvilken type er dit dato-felt.?

/Anders
Avatar billede fomse Nybegynder
23. oktober 2003 - 09:06 #14
a-thorsten>> Dato= Date/Time-Short Date
Avatar billede fomse Nybegynder
23. oktober 2003 - 09:17 #15
Nu virker det! Næsten:-) Den lægger de sidste indtastede værdier til igen hvergang hvergang man opdaterer siden....
Hvordan undgår jeg det?
Avatar billede fomse Nybegynder
23. oktober 2003 - 09:18 #16
Her er koden:

<html><head>
<title>KM-Regnskab</title>
</head><body>

<form action="km-regnskab.asp" method="post">
Dato: <input type="text" name="Dato"><br>
KM: <input type="text" name="KM"><br>
<input type="submit" value="Gem">
</form>

<%
' Databaseforbindelse - husk at angive sti til din database
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kmregnskab.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'Indsætter data i databasen
strSQL = "INSERT INTO ThomasJensen (Dato, KM) VALUES ('" & Request.Form("Dato") & "', '" & Request.Form("KM") & "')"

' SQL sætning eksekveres
myConn.Execute(strSQL)

' Tæller antal poster i tabellen
strSQL = "SELECT COUNT(pID) AS Antal FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du her indtastet " & rs("Antal") & " træningspas i KM-regnskabet.</p>"

' Summere antal poster i kolonnen KM
strSQL = "SELECT SUM(KM) AS Summen FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = myConn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du har kørt " & rs("Summen") & " kilometer ialt.</p>"

' Luk databaseforbindelse
myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede mm12010 Nybegynder
24. oktober 2003 - 11:33 #17
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    ' Databaseforbindelse - husk at angive sti til din database
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kmregnskab.mdb")
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open strDSN
   
    'Indsætter data i databasen
    strSQL = "INSERT INTO ThomasJensen (Dato, KM) VALUES ('" & Request.Form("Dato") & "', '" & Request.Form("KM") & "')"
   
    ' SQL sætning eksekveres
    myConn.Execute(strSQL)
   
    ' Tæller antal poster i tabellen
    strSQL = "SELECT COUNT(pID) AS Antal FROM ThomasJensen"
   
    ' SQL sætning eksekveres
    Set rs = myConn.Execute(strSQL)
   
    'Data skrives ud
    Response.Write "<p>Du her indtastet " & rs("Antal") & " træningspas i KM-regnskabet.</p>"
   
    ' Summere antal poster i kolonnen KM
    strSQL = "SELECT SUM(KM) AS Summen FROM ThomasJensen"
   
    ' SQL sætning eksekveres
    Set rs = myConn.Execute(strSQL)
   
    'Data skrives ud
    Response.Write "<p>Du har kørt " & rs("Summen") & " kilometer ialt.</p>"
   
    ' Luk databaseforbindelse
    myConn.Close
    Set myConn = Nothing
    Response.Redirect(Request.ServerVariables("SCRIPT_NAME"));
End if
%>
Avatar billede fomse Nybegynder
24. oktober 2003 - 14:23 #18
Nu har jeg gjort sådan for at undgå det med opdatering af siden, men det virker ikke

<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then

' Databaseforbindelse - husk at angive sti til din database
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kmregnskab.mdb")
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open strDSN

' Tæller det samlede antal træningspas
strSQL = "SELECT COUNT(ID) AS Antal FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = Conn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du har ialt indtastet " & rs("Antal") & " træningspas i KM-regnskabet.</p>"

' Tæller antal poster vedr. Landevej
  strSQL = "SELECT COUNT(Træningsform) AS AntalLAND FROM ThomasJensen WHERE Træningsform = 'Landevej'"
 
' SQL sætning eksekveres
Set rs = Conn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du har indtastet " & rs("AntalLAND") & " træningspas vedr. landevej.</p>"

' Tæller antal poster vedr. MTB
  strSQL = "SELECT COUNT(Træningsform) AS AntalLAND FROM ThomasJensen WHERE Træningsform = 'MTB'"
 
' SQL sætning eksekveres
Set rs = Conn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du har indtastet " & rs("AntalLAND") & " træningspas vedr. MTB.</p>"

' Summere antal poster i kolonnen KM
strSQL = "SELECT SUM(KM) AS Summen FROM ThomasJensen"

' SQL sætning eksekveres
Set rs = Conn.Execute(strSQL)

'Data skrives ud
Response.Write "<p>Du har kørt " & rs("Summen") & " kilometer ialt.</p>"

' SQL forespørgsel på landevej
strSql = "SELECT * FROM ThomasJensen WHERE Træningsform = 'Landevej' ORDER BY Dato DESC"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

'Overskrift
Response.Write "<strong>LANDEVEJ:</strong><br>"

' Gennemløb Recordset (rs) med en løkke
Do
  sKM = rs("KM")
  dDato = rs("Dato")

' Udskriv værdien af kolonnen Dato og KM
  Response.Write ""
  Response.Write "<strong><font color=""#ff0000"">"  & dDato & "</font></strong>&nbsp;&nbsp;"
  Response.Write "" & sKM & "<br><br>"
  Response.Write ""

' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' SQL forespørgsel på MTB
strSql = "SELECT * FROM ThomasJensen WHERE Træningsform = 'MTB' ORDER BY Dato DESC"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

'Overskrift
Response.Write "<strong>MOUNTAINBIKE:</strong><br>"

' Gennemløb Recordset (rs) med en løkke
Do
  sKMMTB = rs("KM")
  dDatoMTB = rs("Dato")

' Udskriv værdien af kolonnen Dato og KM

  Response.Write ""
  Response.Write "<strong><font color=""#ff0000"">"  & dDatoMTB & "</font></strong>&nbsp;&nbsp;"
  Response.Write "" & sKMMTB & "<br><br>"
  Response.Write ""

' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
    Conn.Close
    Set Conn = Nothing
    Response.Redirect(Request.ServerVariables("SCRIPT_NAME"));
End if

%>

Men det virker ikke, der kommer en fejl:

HTTP 500 - Internal server error
Internet Explorer

Fomse:-)
Avatar billede mm12010 Nybegynder
24. oktober 2003 - 17:03 #19
kan ikke se fejlen...

prøv lave lidt struktur i dit script så man kan hvad der hænger sammen
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