30. januar 2003 - 18:23
Der er
15 kommentarer og 2 løsninger
Kolonne def. som tal i Access DB giver fejl
Hej I min database har jeg en kolonne defineret som Tal (grunden til dette er at jeg et andet sted bruger højeste værdi og lægger 1 til). Men det giver følgende fejl: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /litteratur/bog_udlaan.asp, line 13 Script: <% Response.Buffer = True Response.Expires = 0 ' Connection til database. Set Con = Server.CreateObject( "ADODB.Connection" ) DBPath = "DBQ=" & server.mappath("/log/litteratur.mdb") & "; password=test" Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath ' Hent fra databasen afhængig af værdien id fra URL 13 ---> strSQL = "select * from liste Where bog_id = '" & Request.Querystring("id") & "'" Set rs = Con.Execute(strSQL) IF Request.Servervariables("Content_Length") > 0 THEN sqlOpdate = "UPDATE liste SET laaner_navn = '" & Request.Form("laaner_navn") & "', laane_dato = '" & Request.Form("laane_dato") & "', laaner_mail='" & Request.Form("laaner_mail") & "', udlant='1' WHERE bog_id='" & Request.form("id") & "'" Con.execute(sqlOpdate) Response.Redirect("ok.asp") END IF %> <html> <title>Bog udlån</title> <head> </head> <body> <dl> <% ' Skriv personens data Response.Write "<dt>Titel/forfatter:</dt><dd>" & rs("titel") & " " & rs("forfatter") & "</dd>" Response.Write "<dt>Forlag:</dt><dd>" & rs("forlag") & " " & rs("udgivaar") & "</dd>" Response.Write "<dt>Værdi:</dt><dd>" & rs("vaerdi") & "</dd>" Response.Write "<dt>Kategori:</dt><dd>" & rs("kategori") & "</dd>" Response.Write "<dt>Udlånt til:</dt><dd>" & rs("laaner_navn") & "</dd>" %> <form name="form" action="bog_udlaan.asp" method="POST" target="_self"> <table border="0" width="600"> <tr> <td height="22"></td> <td height="22"> <select name="laaner_navn"> <option value="Anette Grønborg Hansen">Anette Grønborg Hansen</option> <option value="Bente Enevoldsen">Bente Enevoldsen</option> <option value="Birgitte Winterberg">Birgitte Winterberg</option> <option value="Christina Bentzen">Christina Bentzen</option> <option value="Claus Krogh Madsen">Claus Krogh Madsen</option> <option value="Frank Scheving">Frank Scheving</option> <option value="Iben Holme Laursen">Iben Holme Laursen</option> <option value="Irene Østergaard Madsen">Irene Østergaard Madsen</option> <option value="Jahn O. Ruud">Jahn O. Ruud</option> <option value="Jens Hjortshøj">Jens Hjortshøj</option> <option value="Jytte Aagaard">Jytte Aagaard</option> <option value="Kirsten Haagen">Kirsten Haagen</option> <option value="Lone Kragh">Lone Kragh</option> <option value="Merete Mølgaard Jensen">Merete Mølgaard Jensen</option> <option value="Mona Bach">Mona Bach</option> <option value="Niels Fabricius Kilstrup">Niels Fabricius Kilstrup</option> <option value="Rune Lunell">Rune Lunell</option> <option value="Stefan R. Jacobsen">Stefan R. Jacobsen</option> <option value="Tina Ebler">Tina Ebler</option> <option value="Vita Bjerring">Vita Bjerring</option> <option value="Lars Bjørn">Lars Bjørn</option> </select> <input type="tekst" name="laane_dato" Value="<% Response.Write FormatDateTime(Now, vbLongDate)%>"> <input type="text" name="laaner_mail" Value="@vh-marketing.dk"> <input type="text" name="id" Value="<% Response.Write rs("bog_id")%>"> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value=" - SKRIV - "> </td> </tr> </table> </form> </dl> <p><a href="liste.asp">Retur til listen</a></p> </body> </html> <% Con.Close Set Con = Nothing %> Som jeg læser det skal der '' eller et eller andet omkring den sql???
Annonceindlæg fra Computerworld
30. januar 2003 - 18:25
#1
Filen der henter siden er: <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <p>Udlån</p> <p>Indtast bogens nummer </p> <form method="get" action="bog_udlaan.asp"> <input type="text" name="id"> <input type="submit" value="Hent"> </form> </body> </html>
30. januar 2003 - 18:29
#2
13 ---> strSQL = "select * from liste Where bog_id = " & Request.Querystring("id") Set rs = Con.Execute(strSQL) //>Rune
30. januar 2003 - 18:31
#3
Hov.. sådan her: strSQL = "select * from liste Where bog_id = " & Request.Querystring("id") Set rs = Con.Execute(strSQL) //>Rune
30. januar 2003 - 18:35
#4
Er det fordi '" bliver set som tekst? Nå men så får jeg følgende fejl????? error '80020009' Exception occurred. /litteratur/bog_udlaan.asp, line 32 32--> Response.Write "<dt>Titel/forfatter:</dt><dd>" & rs("titel") & " " & rs("forfatter") & "</dd>" Skal det så have en '""' omkring sig?
30. januar 2003 - 18:37
#5
Ja. Den anden fejl du får ved jeg ikke rigtig hvorfor du får, men det har ikke noget med det oprindelige spm du stilte... //>Rune
30. januar 2003 - 18:38
#6
Underligt jeg satte ' ' omkring: '" & rs("titel") & " " & rs("forfatter") & "' Nu viser den det den skal men med den første linie pakket ind i ''?
30. januar 2003 - 18:38
#7
Hvad mener du? //>Rune
30. januar 2003 - 18:43
#8
Som vist her Titel/forfatter: 'test test' Forlag: test test osv. Nå det er mindre væsentligt, når jeg vil opdatere nu skriver den: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'bog_id ='. /litteratur/bog_udlaan.asp, line 13 som er den først nævnte linie? Har det noget at gøre med: IF Request.Servervariables("Content_Length") > 0 THEN sqlOpdate = "UPDATE liste SET laaner_navn = '" & Request.Form("laaner_navn") & "', laane_dato = '" & Request.Form("laane_dato") & "', laaner_mail='" & Request.Form("laaner_mail") & "', udlant='1' WHERE bog_id='" & Request.form("id") & "'" Con.execute(sqlOpdate) Response.Redirect("ok.asp") END IF %>
30. januar 2003 - 18:46
#9
IF Request.Servervariables("Content_Length") > 0 THEN sqlOpdate = "UPDATE liste SET laaner_navn = '" & Request.Form("laaner_navn") & "', laane_dato = '" & Request.Form("laane_dato") & "', laaner_mail='" & Request.Form("laaner_mail") & "', udlant='1' WHERE bog_id=" & Request.form("id") Con.execute(sqlOpdate) Response.Redirect("ok.asp") END IF %> Prøv sådan.. //>Rune
30. januar 2003 - 18:50
#10
Giver samme fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'bog_id ='. /litteratur/bog_udlaan.asp, line 13
30. januar 2003 - 18:51
#11
IF Request.Servervariables("Content_Length") > 0 THEN sqlOpdate = "UPDATE liste SET laaner_navn = '" & Request.Form("laaner_navn") & "', laane_dato = '" & Request.Form("laane_dato") & "', laaner_mail='" & Request.Form("laaner_mail") & "', udlant='1' WHERE bog_id=" & Request.QueryString("id") Con.execute(sqlOpdate) Response.Redirect("ok.asp") END IF %> Prøv sådan... //>Rune
30. januar 2003 - 18:54
#12
Så laver den fejl i linie 17: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'bog_id='. /litteratur/bog_aflevering.asp, line 17 IF Request.Servervariables("Content_Length") > 0 THEN -->17 sqlOpdate = "UPDATE liste SET laaner_navn = '" & Request.Form("laaner_navn") & "', laane_dato = '" & Request.Form("laane_dato") & "', laaner_mail='" & Request.Form("laaner_mail") & "', udlant='1' WHERE bog_id=" & Request.QueryString("id") Con.execute(sqlOpdate) Response.Redirect("ok.asp") END IF %>
30. januar 2003 - 18:57
#13
Prøv selv lige at leg lidt med om der skal ' og ' omkring eller ikke! -jeg ved jo ikke hvordan du henter dine data'er osv. //>Rune
30. januar 2003 - 23:06
#14
Koden endte sådanne her: ' Hent fra databasen afhængig af værdien id fra URL If request.form("id") = "" then strSQL = "select * from liste Where bog_id = " & Request.Querystring("id") Set rs = Con.Execute(strSQL) End if IF Request.Servervariables("Content_Length") > 0 THEN sqlOpdate = "UPDATE liste SET laaner_navn = '" & Request.Form("laaner_navn") & "', laane_dato = '" & Request.Form("laane_dato") & "', laaner_mail='" & Request.Form("laaner_mail") & "', udlant=1 WHERE bog_id=" & Request.Form("id") Con.execute(sqlOpdate) Response.Redirect("ok.asp") END IF Dvs. if...end omkring strSQL og Request.Form("id") i sqlOpdate
30. januar 2003 - 23:07
#15
Nu hjalp du jo en del af vejen så du får naturligvis også noget for det!
30. januar 2003 - 23:08
#16
Fair nok :o) Thx 4 Poinz //>Rune
30. januar 2003 - 23:12
#17
Jeg måtte omkring netcoders for at få den knækket. Heldigvis var der en som fik ideen med if...end det var jeg aldrig kommet på!
Kurser inden for grundlæggende programmering