25 messaggi dal 14 ottobre 2001
www.fiso.it
Ciao a Tutti,

sto scrivendo una query per modificare un record del db contenete news con le informazioni da form, mi sembra corretto, ma mi da errore:

<i>Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione UPDATE.
/sito/asp/cambia_news.asp, line 44 </i>

ecco la parte incriminata:

<code>
'si, è clickata quindi cambiamo i dati

id = Request.QueryString("id")

'raccogliamo I dati dall nostra form
autore = Request.Form("autore")
titolo = Request.Form("titolo")
sottotitolo = Request.Form("sottotitolo")
testo = Request.Form("testo")
vivo = Request.Form("vivo")
morto = Request.Form("morto")
url = Request.Form("url")

'costruiamo la query
strsql = "Update tbl_news"
strsql = strsql & " SET ("
strsql = strsql & "titolo = '" & titolo & "',"
strsql = strsql & "sottotitolo = '" & sottotitolo & "',"
strsql = strsql & "testo = '" & testo & "',"
strsql = strsql & "data_vivo = '" & vivo & "',"
strsql = strsql & "data_morto = '" & morto & "',"
strsql = strsql & "url = '" & url & "') "
strsql = strsql & "Where id = " & id

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
Set objRs = Server.CreateObject("ADODB.Recordset")


set objRs = objConn.Execute(strsql)

objConn.Close
Set objConn = Nothing
</code>

Ho provato anche a riscriverla:

<code>'si, è clickata quindi cambiamo i dati

id = Request.QueryString("id")

'raccogliamo I dati dall nostra form
autore = Request.Form("autore")
titolo = Request.Form("titolo")
sottotitolo = Request.Form("sottotitolo")
testo = Request.Form("testo")
vivo = Request.Form("vivo")
morto = Request.Form("morto")
url = Request.Form("url")

'costruiamo la query
strsql = "Update tbl_news " _
& "SET autore = autore , titolo = titolo , sottotitolo = sottotitolo , testo = testo , data_vivo = vivo , data_morto = morto , url = url " _
& "Where id = " & id


Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
Set objRs = Server.CreateObject("ADODB.Recordset")


set objRs = objConn.Execute(strsql)

objConn.Close
Set objConn = Nothing
</code>

ma niente, mi dà questa volta:

<i>
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 2.
/Copia_di_veneto/asp/cambia_news.asp, line 40
</i>

Un pò alla volta sto imparando a programmare ma
non saprei cos'altro fare, per voi dove possono essere questi errori che io non riesco a vedere????


Antrax

webmaster www.fiso.it/veneto

Antrax
Think Different! Track Track Ale !
529 messaggi dal 06 marzo 2001
www.wallweb.it
non è pù semplice se metti:

<code>
id = Request.QueryString("id")

'raccogliamo I dati dall nostra form
autore = Request.Form("autore")
titolo = Request.Form("titolo")
sottotitolo = Request.Form("sottotitolo")
testo = Request.Form("testo")
vivo = Request.Form("vivo")
morto = Request.Form("morto")
url = Request.Form("url")

'costruiamo la query

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
Set objRs = Server.CreateObject("ADODB.Recordset")

rs.open "select * from tbl_news where id='"&id&"'", objConn,3,3

objRs("titolo") = titolo
objRs("sottotitolo") = sottotitolo
objRs("testo") = testo
objRs("data_vivo") = vivo
objRs("data_morto") = morto
objRs("url") = url

objRs.Close
set objRs = nothing

objConn.Close
Set objConn = Nothing
</code>

Mirko Rizzo
http://www.websinside.net

Mirko Rizzo

**********************************************
WALLWEB
-Domini
-Hosting
-WebDesign
-E-commerce
http://www.wallweb.it
********************
6 messaggi dal 09 novembre 2001
Ciao!Guarda ti risponde parametri insufficenti 2 perchè non riconosce le due date(vivo e morto).Questo perchè i Db access vogliono quando gli passi le date i pound(#) al posto degli apici(').
Quindi prova a cambiare la tua query scrivendo:

'costruiamo la query
strsql = "Update tbl_news"
strsql = strsql & " SET ("
strsql = strsql & "titolo = '" & titolo & "',"
strsql = strsql & "sottotitolo = '" & sottotitolo & "',"
strsql = strsql & "testo = '" & testo & "',"
strsql = strsql & "data_vivo = #" & vivo & "#,"
strsql = strsql & "data_morto = #" & morto & "#,"
strsql = strsql & "url = '" & url & "') "
strsql = strsql & "Where id = " & id

E poi il resto.
Così dovrebbe andare!
Fammi sapere se è andata o continua a prendere errore!
Ciao


25 messaggi dal 14 ottobre 2001
www.fiso.it
Ciao!

Ho provato a modificare inserendo gli # come consigliato da te affittasi ( ci avevo pensato anch'io all'inizio), ma permane l'errore di sintassi.

Come l'ha riscritta Ominoasp invece mi da questo:

<i>
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][Driver ODBC Microsoft Access] Tipi di dati non corrispondenti nell'espressione criterio.

/sito/asp/cambia_news.asp, line 33
</i>

Cosa ne persate? Da parte mia rimane il dubbio,??????????
scusate l'ignoranza, ma la sto riprovando in continuazione e da sembre qualche problemino. In ogni modo vi farò sapere i riscolti futuri della cosa


Antrax

webmaster www.fiso.it/veneto

Antrax
Think Different! Track Track Ale !
215 messaggi dal 29 aprile 2001
www.antidoto.org
Potrebbe essere il carattere '
Prova

'costruiamo la query
strsql = "Update tbl_news"
strsql = strsql & " SET ("
strsql = strsql & "titolo = '" & Replace (titolo,"'","''") & "',"
strsql = strsql & "sottotitolo = '" & Replace (sottotitolo,"'","''") & "',"
strsql = strsql & "testo = '" & Replace(testo,"'","''") & "',"
strsql = strsql & "data_vivo = #" & vivo & "#,"
strsql = strsql & "data_morto = #" & morto & "#,"
strsql = strsql & "url = '" & url & "') "
strsql = strsql & "Where id = " & id


@ntidoto - Tutta la Roma dei Pub
http://www.antidoto.org
Il migliore sito sui pub di Roma, sul mondo della birra e non solo
25 messaggi dal 14 ottobre 2001
www.fiso.it
Ciao!

Ho provato a scrivere tutto su una linea per togliere un pò di " così:
<code>
'costruiamo la query
strsql="UPDATE tbl_news SET titolo= '" & titolo & "', sottotitolo= '" & sottotitolo & "', testo= '" & testo & "', data_vivo= #" & vivo & "#, data_morto= #" & morto & "#, url= '" & url & "' WHERE ID=" & id
</code>

ma ugualmente cercando di modificare una news mi avvisa:

<i>
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query ''Un euro per l'orientamento veneto', sottotitolo= 'Con l'assemblea regionale delle società di oggi a Padova è partita la sottoscrizione a premi "UN euro per l'orientamento veneto" ', testo= 'aperta ai tesserati FISO finanziare le attività educative e sportiv'.

/sito/asp/cambia_news.asp, line 36
</i>

Probabilmente perdo qualche ' o " per strada o è in più , voi riuscite a vedere dove?
Mi sfugge qualcosa ma cosa



Antrax

webmaster www.fiso.it/veneto

Antrax
Think Different! Track Track Ale !
902 messaggi dal 19 aprile 2001
devi gestire gli ' nelle stringhe di testo...
titolo= '" &replace( titolo,"'","''") & "', ... eccc...


 Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net

Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net
54 messaggi dal 06 settembre 2002
www.archimedesrl.com
Ciao

Ho avuto anche io un problema simile, in passato, ed ho scoperto che avevo scritto male il nome di un campo del database, ti consiglio di controllare.



Giovanni Spazioso

Giovanni SPAZIOSO
MCSE - MCSA Messaanging
http://www.spazioso.org
http://www.archimedesrl.com
http://www.gecomepartners-srl.it

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.