Il wg

giovedì 26 marzo 2015 - 22.04

mauri1961 Profilo | Senior Member

Salve a tutti,

mi ritrovo con un problema relativo alla modifica di un record in un form come si può vedere dal codice postato.

Il problema risiede nella update in quanto levando la clausola where aggiorna tutti i records altrimenti il record selezionato non si aggiorna seppure non viene segnalato alcun errore.


Considerando che uso asp.net saltuariamente sono graditi aiuti e consigli.


If operazione.Text = "MODIFICA" Then
Dim strdiv As String
Dim conPubs As SqlConnection
Dim strUpdate As String
Dim cmdUpdate As SqlCommand
Dim IntUpdateCount As String
conPubs = New SqlConnection("Data Source=xxxxxxxxx\SQLEXPRESS;Initial Catalog=notprel;User Id=mauri1961;Password=bussa1961")


strUpdate = "update corso set cso_datini = @datini, cso_datfin = @datfin, cso_aggiornamento = @aggiornamento, cso_corso = @corso, cso_descri = @descri, cso_breve = @breve, cso_anno = @anno, cso_ore = @ore, cso_cadenza = @cadenza, cso_partecipanti = @partecipanti where cso_corso = @corso"


cmdUpdate = New SqlCommand(strUpdate, conPubs)

cmdUpdate.Parameters.AddWithValue("@datini", datini.Text)
cmdUpdate.Parameters.AddWithValue("@datfin", datfin.Text)
cmdUpdate.Parameters.AddWithValue("@aggiornamento", aggiornamento.Text)
cmdUpdate.Parameters.AddWithValue("@corso", corso.Text)
cmdUpdate.Parameters.AddWithValue("@descri", descrizione.Text)
cmdUpdate.Parameters.AddWithValue("@breve", breve.Text)
cmdUpdate.Parameters.AddWithValue("@anno", anno.Text)
cmdUpdate.Parameters.AddWithValue("@ore", ore.Text)
cmdUpdate.Parameters.AddWithValue("@cadenza", cadenza.Text)
cmdUpdate.Parameters.AddWithValue("@partecipanti", partecipanti.Text)


conPubs.Open()
IntUpdateCount = cmdUpdate.ExecuteNonQuery()
conPubs.Close()

strdiv = " Record modificato correttamente. <br /><a href='scuola07.aspx'>Ritorna</a>"


risultato.Visible = True
risultato.InnerHtml = strdiv
form_blocco.Visible = False
End If
Else
risultato.InnerHtml = "Form non valido"
End If
End Sub


Grazie e saluti, Maurizio

d@dora Profilo | Senior Member

ciao
non puoi usare @corso nella clausola where (where cso_corso = @corso), ma devi usare il valore
nel modo da te usato cerca di aggiornare il record che ha cso_corso=@corso che non trova e quindi non fa nulla.

mauri1961 Profilo | Senior Member

Innanzitutto mi scuso per il ritardo nella risposta... si effettivamente ho capito che andavo a testare un campo in realtà vuoto, allora ho provato a modificare il test inserendo il campo che proviene dalla pagina di selezione..tuttavia mi rilascia errore dicendo che il campo stu_chiave non è dichiarato... (la tabella è un'altra ma la funzionalità medesima)...


If operazione.Text = "MODIFICA" Then
Dim strdiv As String
Dim conPubs As SqlConnection
Dim strUpdate As String
Dim cmdUpdate As SqlCommand
Dim IntUpdateCount As Integer
conPubs = New SqlConnection("Data Source=xx.xx.xx.x,xxxx\SQLEXPRESS;Initial Catalog=notprel;User Id=mauri1961;Password=bussa1961")

conPubs.Open()
strUpdate = "update corso set stu_cognome = @cognome, stu_nome = @nome, stu_nascita = @nascita, stu_codfis = @codfis, stu_locnas = @locnas, stu_indirizzo = @indirizzo, stu_cap = @cap, stu_citta = @citta, stu_provincia = @provincia, stu_partitaiva = @partitaiva, stu_collegio = @collegio, stu_telefono = @telefono, stu_mail = @mail where (stu_chiave = '" & Request.QueryString("lkcomm").ToString() & "')"


cmdUpdate = New SqlCommand(strUpdate, conPubs)

cmdUpdate.Parameters.AddWithValue("@cognome", cognome.Text)
cmdUpdate.Parameters.AddWithValue("@nome", nome.Text)
cmdUpdate.Parameters.AddWithValue("@nascita", nascita.Text)
cmdUpdate.Parameters.AddWithValue("@codfis", codfis.Text)
cmdUpdate.Parameters.AddWithValue("@locnas", codfis.Text)
cmdUpdate.Parameters.AddWithValue("@indirizzo", indirizzo.Text)
cmdUpdate.Parameters.AddWithValue("@cap", cap.Text)
cmdUpdate.Parameters.AddWithValue("@citta", citta.Text)
cmdUpdate.Parameters.AddWithValue("@provincia", provincia.Text)
cmdUpdate.Parameters.AddWithValue("@partitaiva", citta.Text)
cmdUpdate.Parameters.AddWithValue("@collegio", provincia.Text)
cmdUpdate.Parameters.AddWithValue("@telefono", telefono.Text)
cmdUpdate.Parameters.AddWithValue("@mail", mail.Text)



IntUpdateCount = cmdUpdate.ExecuteNonQuery()

conPubs.Close()

strdiv = " Record modificato correttamente. <br /><a href='scuola12.aspx'>Ritorna</a>"

grazie e saluti.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5