20 messaggi dal 05 ottobre 2006
Slve a tutti, ho un problema con un inserimento in un db access.

Allora da un form costituito da una textarea prelevo il testo e lo faccio inserire all'interno del db. L'inserte funziona fino a quando non vi è un apice o doppio apice all'interno del testo.
Se non ricordo male ho risolto il problema in precedenza raddoppiando gli apici ma non funziona. qualcuno puo darmi una mano? grazie


'eseguo l'inserimento dei dati
sql = "INSERT INTO news (titolo, testo, provenienza, data) values ('" & titolonews & "', '" & testonews & "', '"& provenienzanews &"', '"& oggi&"');"
conn.Execute sql


errore:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''FREDYRYLLSKJDLK ' DAHE è KSDJKSJDK SKDJKSD', 'Link Provenienza', 'gg/mm/aaaa');'.
20 messaggi dal 05 ottobre 2006
I campi nel db sono memo, quindi non dovrei aver problemi con la lunghezza.
394 messaggi dal 11 agosto 2004
fare un replace dei caratteri spaciali in caratteri ascii (chr(34) etc etc)???
20 messaggi dal 05 ottobre 2006
Ciao maxiz, scusa dovevo postare anche l'altro codice. Il replace() lo ho usato in questo modo:

codice proveniente dal form
titolonews = Replace(Request.Form("titolo"), "'", "''")
testonews = Replace(Request.Form("news"), "'", "''")
pnews = news = Replace(Request.Form("link"), "'", "''") 
oggi = Request.Form("dataoggi")


e lo inserisco così:

sql = "INSERT INTO news (titolo, testo, provenienza, data) values ('" & titolonews & "','" & testonews & "', '"& pnews &"', '"&oggi&"');"
conn.Execute sql


Il problema persiste. non è che ho sbagliato la query?
grazie ancora
20 messaggi dal 05 ottobre 2006
Ok risolto, il codice postato sopra funziona, credo sia stato un problema di aggiornamento sul server, in quanto caricavo la pagina ma solo dopo qualche minuto mi sostituiva il file e quindi mi dava errore.
Grazie comunque.

PS se ci sono consigli sul codice sono sempre bene accetti
394 messaggi dal 11 agosto 2004
titolonews = Replace(Request.Form("titolo"), "'", "''")
testonews = Replace(Request.Form("news"), "'", "''")
pnews = news = Replace(Request.Form("link"), "'", "''")
lo cambierei con
titolonews = Replace(Request.Form("titolo"), "'", chr(34))
testonews = Replace(Request.Form("news"), "'", chr(34))
pnews = news = Replace(Request.Form("link"), "'", chr(34))
20 messaggi dal 05 ottobre 2006
Perchè?
scusa l'insistenza
394 messaggi dal 11 agosto 2004
perchè spesso e volentieri quei caratteri creano problemi all'interno delle query.. Io ti cosiglierei di "tradurli" in ascii dato che è del testo non ti crea problemi..
poi vedi tu!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.