17. januar 2002 - 17:08
Der er
36 kommentarer og 1 løsning
hvor opdatere den ikke?
File.ExtractFileName giver et filnavn men er sql strSQL = \"Insert into imgsrc (File.ExtractFileName)\" skrevet forkert ? <% \' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath(\"c:\\www\\domain.dk\\db\\test.mdb\") Conn.Open DSN \' SQL sætning opbygges strSQL = \"Insert into imgsrc (File.ExtractFileName)\" \' SQL sætning eksekveres Conn.Execute(strSQL) \' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
Annonceindlæg fra Genetec
17. januar 2002 - 17:28
#1
er dette ikke rigtigt ? strSQL = \"Insert into imgsrc (Filenavn)\" fejlen er: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
17. januar 2002 - 17:32
#2
min tabel hedder \'side\' og min record \'imgsrc\' <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath(\"c:\\www\\domain.dk\\db\\test.mdb\") Conn.Open DSN strSQL = \"Insert into imgsrc (filnavn)\" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing %> fejlen: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
17. januar 2002 - 21:21
#3
Sætningen skal være således: strSQL = \"Insert into imgsrc (filnavn) values (\" & File.ExtractFileName & \");\" hvor jeg går ud fra at feltet hedder: filnavn og værdien fås ved funktionen: File.ExtractFileName
17. januar 2002 - 21:45
#4
***Jeg benytter: For Each File in Upload.Files filnavn = File.ExtractFileName Next og strSQL = \"Insert into imgsrc (filnavn) values (\" & File.ExtractFileName & \");\" ***men fejlen er: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Invalid use of \'.\', \'!\', or \'()\'. in query expression \'GuidenLogo(1).jpg\'. /asp_upload/Upload.asp, line 50 ***her hele scriptet: <%@LANGUAGE=\"VBSCRIPT\"%> <% Set Upload = Server.CreateObject(\"Persits.Upload.1\") \'Upload.IgnoreNoPost = True \' Upload files Upload.OverwriteFiles = False \' Generate unique names Upload.SetMaxSize 1048576 \' Truncate files above 1MB Upload.save \"c:\\www\\domain.dk\\www\\billeder\\\" & request(\"user\") \'Upload.SaveVirtual \"../billeder/\" & request(\"user\") \' Save to data directory For Each File in Upload.Files filnavn = File.ExtractFileName Next %> <% \' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject(\"ADODB.connection\") Conn.ConnectionString = \"DRIVER={Microsoft Access Driver (*.mdb)};\" & _ \"DBQ=c:\\www\\domain.dk\\db\\test.mdb\" Conn.Open \' SQL sætning opbygges \'strSQL = \"Insert into imgsrc (filnavn)\" strSQL = \"Insert into imgsrc (filnavn) values (\" & filnavn & \");\" \' SQL sætning eksekveres Conn.Execute(strSQL) \' Luk databaseforbindelse Conn.Close Set Conn = Nothing %> <script language=\"JavaScript\"> window.opener.document.images[\'pict\'].src = request(\"imgsrc\") self.close(); </script>
17. januar 2002 - 22:01
#5
Jeg skal lige ha\' det rigtigt. ! Hvis alle filnavne skal gemmes i hver sin record så skal koden omkring insert se således ud. For Each File in Upload.Files filnavn = File.ExtractFileName strSQL = \"Insert into imgsrc (filnavn) values (\'\" & filnavn & \"\');\" Conn.Execute(strSQL) Next ellers går den nye fejlmeddelelse på at der mangler plinger omkring værdien. Den rigtige sætning ser således ud: strSQL = \"Insert into imgsrc (filnavn) values (\'\" & filnavn & \"\');\"
18. januar 2002 - 06:59
#6
Der er kun en fil eller et filnavn! linie 50 = Conn.Execute(strSQL) FEJL: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression \'120x90.gif\'. /asp_upload/Upload.asp, line 50
18. januar 2002 - 10:48
#7
Jeg er med. Hvordan ser linie 50 ud nu. !
18. januar 2002 - 11:57
#8
Som jeg skriver tidligere: linie 50 = Conn.Execute(strSQL)
18. januar 2002 - 13:54
#9
Det er klat - det var linien der danner strSql jeg skal se.
18. januar 2002 - 13:57
#10
strSQL = \"Insert into imgsrc (filnavn) values (\" & filnavn & \");\"
18. januar 2002 - 13:59
#11
jeg kan ikke SQL strSQL skal være lig med \"Insert (mit filnavn) into colum IMGSRC i tabel data where ID = request(\"id\")\"
18. januar 2002 - 14:20
#12
Som jeg skrev tidligere - der mangler plinger/apostroffer. Sådan: strSQL = \"Insert into imgsrc (filnavn) values (\'\" & filnavn & \"\');\"
18. januar 2002 - 14:44
#13
Jeg tror vi nærmer os: (jeg hæver point!) imgsrc er en \'colum\' i tabellen \'side\' fejl: Microsoft OLE DB Provider for ODBC Drivers error \'80040e37\' [Microsoft][ODBC Microsoft Access Driver] Could not find output table \'imgsrc\'. /asp_upload/Upload.asp
18. januar 2002 - 14:53
#14
Jeg tror at det muligvis kan være noget i retning af : strSQL = \"Insert into side.imgsrc (filnavn) values (\'\" & filnavn & \"\')\" & _ WHERE id = \" + Request(\"id\") + \"\";\" men den giover fejl: WHERE id = \" + Request(\"id\") + \"\";\" ------^
18. januar 2002 - 15:46
#15
Så skal sætningen se således ud. strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \";\" Hvis ID er med i URL-en som URL.asp?ID=?? Men forstår jeg det korrekt at du vil gemme filnavnet i databasen. (og forhåbenligt ikke billedet.)
18. januar 2002 - 15:54
#16
Nu siger den: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement. /asp_upload/Upload.asp, line 34 linie 34 er: Conn.Execute(strSQL)
18. januar 2002 - 16:05
#17
Der var jeg lige hurtig nok - jeg kan se at der mangler en parantes før ; strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \");\"
18. januar 2002 - 16:14
#18
Sorry, jeg er en ged til at finde ud af dette her:
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement.
/asp_upload/Upload.asp, line 34
det er altså med:
strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \");\"
Du kan prøve at gå ind i
www.webgalleri.dk klik login og benyt test test til bruger & pass klik på billedet i udstillingen 2 gange for at komme til rediger.
18. januar 2002 - 17:15
#19
det ser godt ud:
www.webgalleri.dk Er koden til denne side. ?
Og er der flere problemer. ?
19. januar 2002 - 01:58
#20
Desværre stadigt en fejl:
Du kan prøve at gå ind i
www.webgalleri.dk klik login og benyt test test til bruger & pass klik på billedet i udstillingen 2 gange for at komme til rediger.
Fejlen er:
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement.
/asp_upload/Upload.asp, line 34
det er altså med:
strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \");\"
19. januar 2002 - 09:39
#21
har du en ide hvorfor den stadigt melder? Missing semicolon (;) at end of SQL statement/asp_upload/Upload.asp, line 34
19. januar 2002 - 17:06
#22
Prøv at fjerne den sidste parantes. strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \";\"
19. januar 2002 - 19:46
#23
er uploaded nu, men giver den samme fejl ?
19. januar 2002 - 21:00
#24
Jeg kan ikke se en fejl i linien - den er korrekt - med mindre feltet, id i databasen ikke er af typen tal. ? Ellers kan du undlade linien: Conn.Execute(strSQL) og skrive denne i stedet for. Response.Write(srtSql) så vil selve SQL-kommandoen blive skrevet på skærmen før den udføres - hvis jeg kan se denne linie er det lettere at finde fejlen.
20. januar 2002 - 10:38
#25
Response.Write(\"sql er:\" & strSQL) siger: Insert into side (imgsrc) values (\'billabongbund.jpg\') WHERE id=15); sql: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement. /asp_upload/Upload.asp, line 33 men der opdateres ikke
20. januar 2002 - 14:33
#26
Parentesen til sidst er ikke fjernet. (som jeg nævnte tidligere) Den rigtige sætning er: strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \";\" Sæt den ind og lad os se. !
20. januar 2002 - 16:17
#27
done og jeg udskriver den også: sql er:Insert into side (imgsrc) values (\'billabongbund.jpg\') WHERE id=15; Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement. /asp_upload/Upload.asp, line 35
20. januar 2002 - 16:52
#28
Så er jeg lost. ! Vil du vise de par linier fra koden der har med sql-sætningen og gøre. Tag et par ekstra linier med for at være sikker.
21. januar 2002 - 12:21
#29
<% \' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject(\"ADODB.connection\") Conn.ConnectionString = \"DRIVER={Microsoft Access Driver (*.mdb)};\" & _ \"DBQ=c:\\www\\webgalleri.dk\\db\\galleri.mdb\" Conn.Open \' SQL sætning opbygges \'strSQL = \"Insert into imgsrc (filnavn)\" strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\') WHERE id=\" & Request.QueryString(\"id\") & \";\" \'strSQL = \"Insert filnavn into imgsrc WHERE id = \" + Replace(rs__MMColParam, \"\'\", \"\'\'\") + \"\" \' SQL sætning eksekveres Response.Write(\"sql er:\" & strSQL) Conn.Execute(strSQL) \' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
21. januar 2002 - 12:55
#30
Jeg kan ikke se en eneste fejl. Er feltet: ID et tekstfelt. ?
21. januar 2002 - 13:33
#31
den er sat til autonummering
21. januar 2002 - 13:34
#32
skal jeg sende dig databasen og dokumenterne?
21. januar 2002 - 14:05
#33
Ja - nu begynder det efterhånden at blive interessant.
21. januar 2002 - 14:33
#34
til hvilken email?
21. januar 2002 - 15:28
#35
Selvfølgelig. ! Til claus@coltau.dk
21. januar 2002 - 20:09
#36
Hvordan kan man overse sådan en fejl. Man kan ikke anvende SQL-kommandoen INSERT sammen med WHERE. De rigtige linier skal være følgende. \' SQL sætning opbygges strSQL = \"select ID from side WHERE id=\" & Request.QueryString(\"id\") Set RS = Conn.Execute(strSQL) if RS.EOF then \' ID findes ikke strSQL = \"Insert into side (imgsrc) values (\'\" & filnavn & \"\');\" else \' ID findes allerede strSQL = \"update side set imgsrc=\'\" & filnavn & \"\' WHERE id=\" & Request.QueryString(\"id\") & \";\" end if Mvh. Claus Coltau
21. januar 2002 - 20:34
#37
takker mange gange for hjælpen
Kurser inden for grundlæggende programmering