14. august 2003 - 21:54
Der er
11 kommentarer og 1 løsning
For mange felter i opdatering, hvad gør jeg ?
I en opdatering af en database har jeg åbenbart nået en eller anden grænse, jeg får en fejlmeddelse om at der er for mange felter. Starten af definationen er som her: strSQL = "Update dffanalyse set " strSQL = strSQL & "emailadr ='" & Request.Form("emailadr") & "', " strSQL = strSQL & "URL ='" & Request.Form("URL") & "', " strSQL = strSQL & "p_Pris001 ='" & Request.Form("p_Pris001") & "', " strSQL = strSQL & "p_Pris002 ='" & Request.Form("p_Pris002") & "', " strSQL = strSQL & "p_Pris003 ='" & Request.Form("p_Pris003") & "', " strSQL = strSQL & "p_Pris004 ='" & Request.Form("p_Pris004") & "', " strSQL = strSQL & "p_Pris005 ='" & Request.Form("p_Pris005") & "', " strSQL = strSQL & "p_Pris006 ='" & Request.Form("p_Pris006") & "', " strSQL = strSQL & "p_Pris007 ='" & Request.Form("p_Pris007") & "', " strSQL = strSQL & "p_Pris008 ='" & Request.Form("p_Pris008") & "', " strSQL = strSQL & "p_Pris009 ='" & Request.Form("p_Pris009") & "', " ......osv ialt ca. 150 linier Da jeg er nybegynder på ASP-fronten, har jeg brug for en idé ...men den skal skæres lidt ud i pap (skal svare til ham der skal læse det!)
Annonceindlæg fra Deloitte
14. august 2003 - 22:02
#1
du kan evt spilte din din SQL op i 2: strSQL = "Update dffanalyse set .....første del" connObj.Execute(strSQL) strSQL = "Update dffanalyse set .....anden del" connObj.Execute(strSQL)
14. august 2003 - 22:35
#2
Jeg forsøger med det her, men for syntaks fejl: strSQL = "Update dffanalyse set" strSQL = strSQL & "emailadr ='" & Request.Form("emailadr") & "', " strSQL = strSQL & "URL ='" & Request.Form("URL") & "', " strSQL = strSQL & "p_Pris001 ='" & Request.Form("p_Pris001") & "', " strSQL = strSQL & "p_Pris002 ='" & Request.Form("p_Pris002") & "', " strSQL = strSQL & "p_Pris003 ='" & Request.Form("p_Pris003") & "', " ...... flere her strSQL = strSQL & "p_Pris073 ='" & Request.Form("p_Pris073") & "', " strSQL = strSQL & "p_Pris074 ='" & Request.Form("p_Pris074") & "'" strSQL = strSQL & " WHERE Id = " & Session("ID") Conn.Execute(strSQL) strSQL = "Update dffanalyse set" strSQL = strSQL & "p_Pris075 ='" & Request.Form("p_Pris075") & "', " strSQL = strSQL & "p_Pris076 ='" & Request.Form("p_Pris076") & "', " ...... flere her strSQL = strSQL & "p_Pris149 ='" & Request.Form("p_Pris149") & "', " strSQL = strSQL & "p_Pris150 ='" & Request.Form("p_Pris150") & "'" strSQL = strSQL & " WHERE Id = " & Session("ID") Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Response.redirect "tak.html" %>
14. august 2003 - 22:36
#3
det er højst sandsynligt fordi du når en timeout på din server. Du kan, som mm12010 skriver, lave flere updates efterhinanden.
14. august 2003 - 22:37
#4
hvad er din syntaxfejl ?
14. august 2003 - 22:38
#5
prøv dig frem :o) bliv ved med at dele den op til den ikke giver fejl
14. august 2003 - 22:47
#6
Fejlen: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /analyse/updatpor.asp, line 77 ...og er nu delt i fire dele, linie 77 er: Conn.Execute(strSQL) ...anden gang !
14. august 2003 - 22:52
#7
prøv med en kort en - bare lige for at se om den giver samme fejl: strSQL = "Update dffanalyse set" strSQL = strSQL & "p_Pris074 ='" & Request.Form("p_Pris074") & "'" strSQL = strSQL & " WHERE Id = " & Session("ID")
14. august 2003 - 23:06
#8
Hvis jeg prøver med nogle få går det fint, jeg har prøvet med 35...men når jeg plitter det op går det galt. Skal de have forskellige "titler" i: strSQL = "Update dffanalyse set" Skal hver afsnit ikke afsluttes som f.eks. her: strSQL = strSQL & "p_Pris074 ='" & Request.Form("p_Pris074") & "'" strSQL = strSQL & " WHERE Id = " & Session("ID") Conn.Execute(strSQL)
14. august 2003 - 23:07
#9
strSQL = "Update dffanalyse set " << og husk mellemrummet her
14. august 2003 - 23:12
#10
Der var fejlen !!!! Tak ...du redde min nattesøvn
14. august 2003 - 23:13
#11
prøv at lukke og åbne igen: strSQL = strSQL & "p_Pris074 ='" & Request.Form("p_Pris074") & "'" strSQL = strSQL & " WHERE Id = " & Session("ID") Conn.Execute(strSQL) Conn.Close Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("mappe/din_database.mdb"))
14. august 2003 - 23:14
#12
:o)
Kurser inden for grundlæggende programmering