Problema su update

venerdì 29 ottobre 2010 - 18.18

mauri1961 Profilo | Senior Member

Dopo qualche traversia sto terminando la mia procedura in asp.net. Mi si presenta ancora un problema. Dopo aver selezionato da una grid view una riga, mi viene mostrata correttamente una paginata con tutti i campi della tabella che posso modificare.

Al momento di cliccare il button di Conferma Variazione viene soddisfatta la sub ESEGUI che però mi restituisce il seguente errore:

Sintassi non corretta in prossimità della parola chiave 'where'.

Sicuramente sarà il solito problema con gli apici che ancora non digerisco, tuttavia ho fatto un po' di tentativi senza successo...ecco il codice:


Sub esegui(ByVal sender As Object, ByVal e As EventArgs)

If (checkdata(dataini.Text) = False) Then
visualizzaMessaggio("la data di presunto inizio non è una data valida!")
Exit Sub
End If

If (checkdata(datafin.Text) = False) Then
visualizzaMessaggio("la data di presunta fine non è una data valida!")
Exit Sub
End If


If Page.IsValid Then
Dim strconn As String
Dim strdiv As String
Dim strsql As String
strsql = ""
strdiv = ""

Dim conn As SqlConnection
Dim command As SqlCommand
strconn = "Data Source=DELL-PORTATILE; Initial Catalog=NOTIFICHE;Integrated Security=SSPI"

If operazione.Text = "MODIFICA" Then
strsql = "update notifiche_01 set not_comunica ='" & comunica.SelectedDate.ToShortDateString & "', " & _
"not_opera='" & ubicazione.Text & "', " & _
"not_localita='" & comune.SelectedValue & " " & _
"not_indirizzo='" & indirizzo.Text & "', " & _
"not_committente='" & committente.Text & "', " & _
"not_comm_cf='" & comm_cf.Text & "', " & _
"not_responsabile='" & responsabile.Text & "', " & _
"not_resp_cf='" & resp_cf.Text & "', " & _
"not_coord1='" & coordinatore.Text & "', " & _
"not_cor1_cf='" & coord_cf.Text & "', " & _
"not_inizio='" & dataini.Text & "', " & _
"not_fine='" & datafin.Text & "', " & _
"not_impresa='" & impresa.Text & "', " & _
"not_impr_cf='" & partitaiva.Text & "', " & _
"not_comune='" & comunesede.Text & "', " & _
"not_importo='" & CInt(importo.Text) & "', " & _
"where not_opera='" & ubicazione.Text & "'"

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


Grazie, Maurizio

mrub Profilo | Junior Member

Se è un problema (ma anche in generale) ti conviene usare i parametri

es.
Dim miasql As String = "UPDATE [tabella] SET [nomecampo] = @nomecampo WHERE [ID] = @ID"
Dim miocomando As New SqlCommand(miaSQL, miaconn)
miocomando.Parameters.Add(New System.Data.SqlClient.SqlParameter("nomecampo", System.Data.SqlDbType.NVarChar, 255, "nomecampo"))
miocomando.Parameters.Add(New System.Data.SqlClient.SqlParameter("id", System.Data.SqlDbType.Int, 0, "id"))
miaconn.Open()
miocomando.Parameters("nomecampo").Value = me.nomecampo.text
miocomando.Parameters("ID").Value = mioID
miocomando.ExecuteNonQuery()
miaconn.Close()
ciao, Mirko.

paoval72 Profilo | Senior Member

Ciao! dai che ci sei quasi! Se penso che io è da 3 anni che tento di creare una mia applicazione...
Allora, il problema questa volta è di virgole.
Nell'ultimo set hai una virgola di troppo alla fine:
"not_importo='" & CInt(importo.Text) & "', " & _
non serve perchè non stai passando altri parametri. Basta toglierla:
"not_importo='" & CInt(importo.Text) & "' " & _ "where not_opera='" & ubicazione.Text & "'"
.

Buona festa,
PV


mauri1961 Profilo | Senior Member

funziona. grazie ancora.



ciao, Maurizio
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