30. november 2005 - 19:35
Der er
24 kommentarer og 1 løsning
ASP, insert problem
Hejsa NG. Når denne linie bruges i scriptet virker det fint: strSQL = "Insert into forum (navn, dato, emne) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb")& "')" Men så snart jeg tilføjer 'origin og originb' i sætningen melder den fejl: strSQL = "Insert into forum (navn, dato, emne, origin) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', '" & Request.Form("originb") & "')" Input til origin ser sådan her ud, og er en checkbox: <input type="hidden" name="originb" class="forms" value="True"> Har også prøver med denne form: <input type="hidden" name="originb" class="forms" checked> og <input type="hidden" name="originb" class="forms" True> origin som er feltet i database er et boolean True/False felt. Jeg har læst lidt på nettet angående tal ikke må have "" om sig. Men dette kan jeg ikke helt gennemskue. Nogen der kan hjælpe? Dette er fejlen: Microsoft JET Database Engine error '80040e07' Data type mismatch in criteria expression.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
30. november 2005 - 19:41
#1
Prøv denne kombination: strSQL = "Insert into forum (navn, dato, emne, origin) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', " & Request.Form("originb")&"" <> "" & ")" og en checkboks der ser således ud: <input type="hidden" name="originb" class="forms" value="enellerandenværdi_BAREIKKETOM!"> Hvis checkboksen er checked vil den findes i request.form ellers ikke. Det er det jeg benytter mig af i denne konstruktion Request.Form("originb")&"" <> ""
30. november 2005 - 19:44
#2
...og det skal vel være en checkboks og ikke et hidden felt...? Eller fungerer ovenstående eksempel ikke helt efter hensigten :)
30. november 2005 - 20:07
#3
Nu kommer fejlen: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
30. november 2005 - 20:09
#4
Det skal være en checkbox men skjult. Det virker i noget andet kode jeg har lavet. Der indsætter den TRUE i feltet i databasen når jeg benytter: <input type="hidden" name="originb" class="forms" value="True">
30. november 2005 - 20:10
#5
Hmmm... kan evt. være der skal parantes omkring det udtryk jeg indsatte: strSQL = "Insert into forum (navn, dato, emne, origin) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', " & (Request.Form("originb")&"" <> "") & ")"
30. november 2005 - 20:13
#6
30/11-2005 20:09:09 >> Systemet opfatter det ikke som en tekstboks med den type, hvilket gør at den opfører sig anderledes end en checkboks ville gøre. Derfor skal du, hvis du vil have en checkboks ud af det, ændre koden til: <input type="checkbox" name="originb" class="forms" value="True" style="display:none">
30. november 2005 - 20:18
#7
Så kommer fejlen: Syntax error in string in query expression ''True)'. Det er ene og alene pga af den checkbox.
30. november 2005 - 20:21
#8
Er det nemmere hvis du får hele koden?
30. november 2005 - 20:23
#9
Det ser ud som om der mangler et komma for den sidste parameter (men den SQL jeg har set her mangler ikke dette komma...? Og du siger at origin er et Ja/Nej-felt i databasen?
30. november 2005 - 20:24
#10
Ja, origin er et True/False felt. Tjekker lige efter komma.
30. november 2005 - 20:24
#11
Det kommer an på hvormeget kode der er :)
30. november 2005 - 20:26
#12
Jeg kopierede linien fra 30/11-2005 20:10:18. Nu siger den igen: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
30. november 2005 - 20:26
#13
<%if Request.Form("forfatterb") <> "" then strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../../db/data.mdb") Set objConn = Server.CreateObject ("ADODB.Connection") objConn.Open strConnect Function fncTextChange(strText) strTekst = Trim(strText) fncTextChange = Replace(strTekst,"'","''") fncTextChange = Replace(fncTextChange,"""","""") fncTextChange = Replace(fncTextChange," "," ") fncTextChange = Replace(fncTextChange,vbCrLf,"<br>") fncTextChange = Replace(fncTextChange,"å","å") fncTextChange = Replace(fncTextChange,"æ","æ") fncTextChange = Replace(fncTextChange,"ø","ø") fncTextChange = Replace(fncTextChange,"Å","Å") fncTextChange = Replace(fncTextChange,"Æ","Æ") fncTextChange = Replace(fncTextChange,"Ø","Ø") fncTextChange = Replace(fncTextChange,"[img]","<center><img src='/pics/") fncTextChange = Replace(fncTextChange,"[/img]","' alt='Pic'></center>") fncTextChange = Replace(fncTextChange,"[imgs]","<img src='/pics/baggrund/") fncTextChange = Replace(fncTextChange,"[/imgs]","' alt='Pic'>") fncTextChange = Replace(fncTextChange,"","<b>") fncTextChange = Replace(fncTextChange," ","</b>") fncTextChange = Replace(fncTextChange,"","<i>") fncTextChange = Replace(fncTextChange," ","</i>") fncTextChange = Replace(fncTextChange,"","<u>") fncTextChange = Replace(fncTextChange," ","</u>") End Function indhold = fncTextChange(request.form("anmeldb")) indholda = fncTextChange(request.form("boksenb")) indholdb = fncTextChange(request.form("teaserb")) indholdc = fncTextChange(request.form("omtaleb")) strSQL = "Insert into forum (navn, dato, emne, origin) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', " & Request.Form("originb")&"" <> "" & ")" objConn.Execute(strSQL) end if
30. november 2005 - 20:27
#14
Du skal ikke tage dig af: indhold = fncTextChange(request.form("anmeldb")) indholda = fncTextChange(request.form("boksenb")) indholdb = fncTextChange(request.form("teaserb")) indholdc = fncTextChange(request.form("omtaleb")) Det kommer i brug når jeg får denne her checkbox til at virke.
30. november 2005 - 20:39
#15
Prøv lige at ændre denne sætning strSQL = "Insert into forum (navn, dato, emne, origin) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', " & Request.Form("originb")&"" <> "" & ")" til denne: strSQL = "Insert into forum (navn, dato, emne, origin) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', " & (Request.Form("originb")&"" <> "") & ")"
30. november 2005 - 20:47
#16
Igen fejl nu og den indsætter også i forum. Men den sætter ikke origin til true. Og det skal den.
30. november 2005 - 20:53
#17
Har du husket at checke din checkbox? Sådan: <input type="checkbox" name="originb" class="forms" value="True" style="display:none" checked> Ellers kommer den ikke med over til serveren (det er som nævnt tidligere, kun checkbokse der er afkrydset, som kommer med til serveren).
30. november 2005 - 20:54
#18
...jeg går ud fra at du mener "INGEN fejl" når du skriver "igen fejl"... :)
30. november 2005 - 20:55
#19
Jeg prøvede lige at lave input feltet om til: <input type="hidden" name="originb" class="forms" value="True"> Nu virker det. :) Smider du lige et svar. For det var også ændringen af SQL'en der gjorde det.
30. november 2005 - 20:59
#20
Men så vil den jo altid indsætte true i origin... skal den det?
30. november 2005 - 20:59
#21
...hvis den skal det, så kan du ligeså godt bare indsætte true i feltet i SQL-sætningen i stedet for.
30. november 2005 - 21:01
#22
Lige en enkelt ting, hvis du gider. Jeg skal have denne her ind i koden: indholdb Prøvede sådan her: strSQL = "Insert into forum (navn, dato, emne, origin, indhold) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titelb") & "', " & (Request.Form("originb")&"" <> "") & indholdb & "')" Men nu kan jeg ikke overskue alle de " ' ().. ;)
30. november 2005 - 21:02
#23
Ja, den skal altid indsætte true i feltet. Koden bliver brugt til at lægge en anmeldelsen online. Og koden vi har rodet med nu oprette emnet for anmeldelsen i et forum.
30. november 2005 - 21:04
#24
Skidt pyt med det sidst. fandt ud af det :)
30. november 2005 - 21:59
#25
Godt :) ...og tak for point :)
Kurser inden for grundlæggende programmering