2.907 messaggi dal 15 maggio 2001
Contributi
No non ci vuole la virgola........

Prova a fare la stessa cosa che ti avevo consigliato nell'altro post

Fatti stampare a video il contenuto della query

scrivi solo così :

SQL="UPDATE rubrica SET cognome ='"&cognome&"' nome ='"&nome&"' telefono ='"&telefono&"' cellulare ='"&cellulare&"' numero_breve ='"&numero_breve&"' WHERE id ='"&id&"'"

Response.write SQL

Rome Webmaster

2.907 messaggi dal 15 maggio 2001
Contributi
Scusatemi prima nella fretta mi sono espresso male

La virgola ci vuole però non centra con l'errore dell'operatore mancante...........

quindi scrivi :

SQL="UPDATE rubrica SET cognome ='"&cognome&"', nome ='"&nome&"' ,telefono ='"&telefono&"' ,cellulare ='"&cellulare&"',numero_breve ='"&numero_breve&"' WHERE id ='"&id&"'"

Response.write SQL

Rome Webmaster

38 messaggi dal 19 giugno 2002
Mi da come risultato :
rubrica SET nome='Annalisa',cognome='',telefono='803',cellulare='1323',numero_breve='123' WHERE id ='51'

sono quelle virgolette nel cognome a creare problemi, ma non riesco a capire l'errore nella sinrassi dell'UPDATE

Lisa

Lisa
38 messaggi dal 19 giugno 2002
Ho risolto il problema del cognome, ora invece, riattivando connessioni ecc., mi da il seguente errore:
Tipo di errore:
Microsoft JET Database Engine (0x80040E07)
Tipi di dati non corrispondenti nell'espressione criterio.
/lisit/web/asp/modifica_cancella.asp, line 29


Lisa

Lisa
274 messaggi dal 21 luglio 2001
io scrivo cosi :


<% IF request.form ("Message")="True" THEN
testo=request.form("testo")
commento=request.form("commento")
data=request.form("data")
end if %><%
If IsObject(Session("cercasito_conn")) Then
Set conn = Session("cercasito_conn")
Else
curDir = Server.MapPath("cercasito.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DBQ=" + curDir + ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access")
Set Session("cercasito_conn") = conn
End If
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
id = Request.QueryString("id")
SQL="UPDATE tabella SET testo ='"&testo&"', commento ='"&commento&"' ,link ='"&LINK&"' ,DATA ='"&data&"'"' WHERE id ='"&id&"'"

%>

ma mi da questo errore


ADODB.Recordset error '800a0bb9'

Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.

/modificaprodotti.asp, line 305

dove sbaglio ???

BELLA A TUTTI !!!
http://members.xoom.it/TOROCLUBROMA

:-)
11.886 messaggi dal 09 febbraio 2002
Contributi
Guarda lisa, l'errore è sicuramente qui:

WHERE id ='51'

Che tipo di campo è id? Probabilmente sarà un autoincrementante di tipo long (quindi numerico).
E' errato valutare se un numero è uguale ad una stringa, i tipi di dati non corrispondono quindi ti viene restituito un errore.
Dovresti togliere gli apici, poi (per sicurezza) fai il casting della variabile con CLng. Riassunto:

<code>
SQL="UPDATE rubrica SET cognome ='"&cognome&"', nome ='"&nome&"' ,telefono ='"&telefono&"' ,cellulare ='"&cellulare&"',numero_breve ='"&numero_breve&"' WHERE id ="&CLng(id)
</code>

prova e vedi se va bene...



-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making
38 messaggi dal 19 giugno 2002
Funziona, grazie!

Lisa

Lisa
2.907 messaggi dal 15 maggio 2001
Contributi
Oppure bastava semplicemente togliere i singoli apici '51' doveva essere where Id=51

Alla fine,come avevo detto per il primo problema, mancava la variabile associata al cognome

ehi Bright,furbacchione....... che aiuti solo le dolci fanciulle ??

x PITAGORA :

Se vuoi usa il metodo Execute .........

togli l'oggetto Recordset

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3

e metti questo :

SQL="UPDATE tabella SET testo ='"&testo&"', commento ='"&commento&"' ,link ='"&LINK&"' ,DATA ='"&data&"' WHERE id ="&id&""

conn.Execute(SQL)

Rome Webmaster


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.