23. april 2003 - 14:04
Der er
13 kommentarer og 1 løsning
INSERT FEJL - Ka' æt' hit' u' a' de' !
Jeg sidder med en ordenlig møghund af en SQL sætning - Og har provet at splitte den op - For bedre at kunne overskue den - Men : Nu virker den ikke og giver fejlen : Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen. Jeg vedlægger kun den del der har med sql at gøre og håber et af jeres storslåede høgeblikke kan spotte fejlen ? Undertegnede er gået kodeblind ;-) <% 'STEP 6 : PREPARE SERVER SIDE HANDLING SCRIPT 'Saving the edited content back to the database if Request.QueryString("action") = "save" then dim strTitle, strContent, strDocBgColor, strStartD, strSlutD, strStartM, strSlutM, strStartY, strSlutY, strSted, strBem, strArr, strTid, strOpr, strGodkendt strTitle = Request.Form("txtTitle") strContent = Request.Form("txtContent") strStartD = Request.Form("begdated") strSlutD = Request.Form("enddated") strStartM = Request.Form("begdatem") strSlutM = Request.Form("enddatem") strStartY = Request.Form("begdatey") strSlutY = Request.Form("enddatey") strSted = Request.Form("sted") strBem = Request.Form("bem") strArr = Request.Form("arr") strTid = Request.Form("time") & ":" & Request.Form("minut") strOpr = Now () strDocBgColor = Request.Form("txtDocBgColor") strGodkendt = Request.Form("godkendt") dim adoCn dim strSQL set adoCn = Server.CreateObject("ADODB.Connection") adoCn.Open MM_connKal_STRING strSQL = "Insert Into t_arr ('" strSQL = strSQL & "titel," strSQL = strSQL & "beskrivelse," strSQL = strSQL & "startdato," strSQL = strSQL & "slutdato," strSQL = strSQL & "startmaaned, " strSQL = strSQL & "slutmaaned, " strSQL = strSQL & "startaar, " strSQL = strSQL & "slutaar, " strSQL = strSQL & "sted, " strSQL = strSQL & "bemaerkninger, " strSQL = strSQL & "arrangoer, " strSQL = strSQL & "tid, " strSQL = strSQL & "oprettet, " strSQL = strSQL & "BgColor," strSQL = strSQL & "godkendt)" strSQL = strSQL & " Values ('" strSQL = strSQL & replace(strTitle,"'","''") & "','" strSQL = strSQL & replace(strContent,"'","''") & "','" strSQL = strSQL & strStartD & "','" strSQL = strSQL & strSlutD & "','" strSQL = strSQL & strStartM & "','" strSQL = strSQL & strSlutM & "','" strSQL = strSQL & strStartY & "','" strSQL = strSQL & strSlutY & "','" strSQL = strSQL & replace(strSted,"'","''") & "','" strSQL = strSQL & replace(strBem,"'","''") & "','" strSQL = strSQL & replace(strArr,"'","''") & "','" strSQL = strSQL & strTid & "','" strSQL = strSQL & strOpr & "','" strSQL = strSQL & strDocBgColor & "','" strSQL = strSQL & strGodkendt & "')" adoCn.Execute strSQL adoCn.Close set adoCn = nothing Response.Redirect "kal_default.asp" end if %>
Annonceindlæg fra Pax8
23. april 2003 - 14:20
#1
adoCn.Execute(strSQL) ka ik lige umiddelbart se fejlen, hvis ikke det hjælper at skrive sqlen sådan.
23. april 2003 - 14:24
#2
Det er mange mulige fejl i den SQL. Hvilken type er de forskellige kolonner? Eksvis hvis en kolonne er defineret som tal skal der ikke ' omkring i SQLen. Hvis dine datoer er defineret som dato/klokkeslæt skal der # omkring. Og så bruger man US/UK format SQL som er yyyy-mm-dd eller mm-dd-yyyy
23. april 2003 - 14:25
#3
prøv lige at fjerne "adoCn.Execute strSQL" og alt derefter og indsæt response.write strSQL Så kan det være fejlen er let at få øje på. Post evt det du får skrevet ud ker. //akj
23. april 2003 - 14:26
#4
Ved forkert datatype skal den da ikke skrive "Type Mismatch" ???
23. april 2003 - 14:30
#5
Ikke nødvendigvis, men så bare sig ja eller nej til at de alle er defineret som tekst?
23. april 2003 - 14:30
#6
AKJ > Sådan her ser fætteren ud ved response.write : Insert Into t_arr ('titel,beskrivelse,startdato,slutdato,startmaaned, slutmaaned, startaar, slutaar, sted, bemaerkninger, arrangoer, tid, oprettet, BgColor,godkendt) Values ('ghlkhglkhglk','<P>Her kan du skrive ..fg</P> <P>fgfg</P> <P>fgfg</P> <P> </P>','23','30','4','4','2003','2003','fikjtrgkj','','fgvlkglkfg','12:00','23-04-2003 14:26:57','','-1')
23. april 2003 - 14:33
#7
du skal kun have ' om tal hvis de er felttypen i db'en er text. //akj
23. april 2003 - 14:33
#8
strSQL = "Insert Into t_arr (" strSQL = strSQL & "titel," strSQL = strSQL & "beskrivelse," strSQL = strSQL & "startdato," strSQL = strSQL & "slutdato," strSQL = strSQL & "startmaaned, " strSQL = strSQL & "slutmaaned, " strSQL = strSQL & "startaar, " strSQL = strSQL & "slutaar, " strSQL = strSQL & "sted, " strSQL = strSQL & "bemaerkninger, " strSQL = strSQL & "arrangoer, " strSQL = strSQL & "tid, " strSQL = strSQL & "oprettet, " strSQL = strSQL & "BgColor," strSQL = strSQL & "godkendt)" strSQL = strSQL & " Values ('" strSQL = strSQL & replace(strTitle,"'","''") & "','" strSQL = strSQL & replace(strContent,"'","''") & "','" strSQL = strSQL & strStartD & "','" strSQL = strSQL & strSlutD & "','" strSQL = strSQL & strStartM & "','" strSQL = strSQL & strSlutM & "','" strSQL = strSQL & strStartY & "','" strSQL = strSQL & strSlutY & "','" strSQL = strSQL & replace(strSted,"'","''") & "','" strSQL = strSQL & replace(strBem,"'","''") & "','" strSQL = strSQL & replace(strArr,"'","''") & "','" strSQL = strSQL & strTid & "','" strSQL = strSQL & strOpr & "','" strSQL = strSQL & strDocBgColor & "','" strSQL = strSQL & strGodkendt & "')"
23. april 2003 - 14:33
#9
Der er kommet et ' ind før kolonne navnet titel prøv at fjerne det;: strSQL = "Insert Into t_arr ('" <-------------- Et ' som ikke skal være der strSQL = strSQL & "titel," sådan her: strSQL = "Insert Into t_arr (" strSQL = strSQL & "titel,"
23. april 2003 - 14:35
#10
skarpt set "eagleeye" :-) //akj
23. april 2003 - 14:38
#11
datoerne (dag, maaned, år) er defineret som tal (og lander i hvert sit felt) og godkendt er checkboks, ellers er alle tekst og notatfelter (pånær ID)?
23. april 2003 - 14:40
#12
så skal du lige fjerne gnyfferne omkrig tallene. //akj
23. april 2003 - 14:40
#13
Ok som før skrevet så skal der ikke ' omkring tal felter. Og Ja/Nej skal ligges ind som et tal felt uden ' og man bruger 1 / true for Ja og 0 / false for Nej
23. april 2003 - 14:42
#14
I er nogle rigtige gulddrenge (M/K) !!! eagleeye så den lille dumme - Og den opdaterer faktisk nu - uden andre ændringer - Men jeg skal nok !!! TAK !!
Kurser inden for grundlæggende programmering