Ciao a tutti, ho un problema curioso con una pagina aspx.
E' una pagina molto semplice, ma si verifica una cosa strana.
Andiamo con ordine...
La pagina è formata da un piccolo form contenente 4 textbox: nome, cognome, email, struttura.
Sull'evento load della pagina ho inserito il codice che legge da db (sqlserver) i 4 campi per mezzo di una storedprocedure:
Ok, fin qua tutto ok: funziona!
A questo punto ho inserito un bottone che dovrebbe aggiornare i dati del form su db.
Ecco il codice associato all'evento onclick:
Eseguo la pagina, il form si riempie con i dati letti da db, modifico uno o più campi, schiaccio il pulsante e... il form torna come prima (e il database non viene aggiornato)!
Secondo voi, perchè?
Altri dettagli:
- entrambe le storedprocedure sono corrette e funzionanti (entrambe testate da riga di comando)
- se commento l'evento "load", la procedura di aggiornamento funziona e il db si aggiorna
- se invece di usare la storedprocedure nel evento onclick del bottone uso una query, funziona. Ad esempio, così va:
querystring = "UPDATE utenti SET nome='" & txtnome.text & "', cognome=....... "
connection.Open()
Using command As New SqlCommand(querystring, connection)
command.CommandType = Data.CommandType.Text
command.ExecuteNonQuery()
End Using
connection.Close()
- Questo è il testo della storedprocedure di update:
ALTER PROCEDURE queryUtenteAggiornaDatiPersonali
@nomeutente varchar(20), @nome varchar(50), @cognome varchar(50), @email varchar(150), @struttura varchar(100)
AS
BEGIN
SET NOCOUNT ON;
UPDATE Utenti
SET nome = @nome, cognome = @cognome, email = @email, struttura = @struttura
WHERE nomeutente=@nomeutente;
Qualche suggerimento?
Ciao a tutti!
giulio