Difficolta update con where ID

di FABIO19701 il
4 risposte

Buongiorno a tutti

devo aggiornare dei dati che sono inseriti una tabella di access:

 Dim Query As String = "UPDATE Tabella1 SET INTESTAZIONE = ?  WHERE ID=12"

(ho provato anche  Dim Query As String = "UPDATE Tabella1 SET INTESTAZIONE =@1  WHERE ID=12")

 Mi funziona solo se inserisco in maniera manuale "il valore 12" come riga di modifica e non con l'informazione che estraggo da:                                        Dim RIGA As Integer = Convert.ToInt32(Dgw.SelectedRows(0).Cells("ID").Value)

Mi sapete dire dove sbaglio?

Grazie e buona giornata

4 Risposte

  • Hai fatto un po' di confusione e non si capisce nulla

    riesci a mostrare un po' più di righe di codice dove si vede l'assegnazione della variabile RIGA alla query di richiesta ??
    Usi i parametri o usi la stringa ??
    Tu parli della colonna ID ma a quel che sembra nella tua query tu hai solo la colonna INTESTAZIONE come parametro, per cui, ripeto, non ci ho capito molto

    Spiega meglio e mostraci il codice

  • 14/05/2026 - FABIO19701 ha scritto:

    Mi sapete dire dove sbaglio?

    Se riesci a dare qualche altra informazione in più, possiamo capire.

    Nel frattempo, quando metti @1, la chioccola indica che stai passando un parametro, ma se la metti così nel codice, senza utilizzo effettivo di parametro/i non funzionerà mai.

    Forse volevi inserire {1}  e passare in string.format il valore? 

  • 14/05/2026 - FABIO19701 ha scritto:

    Dim Query As String = "UPDATE Tabella1 SET INTESTAZIONE = ?  WHERE ID=12"

    Qui stai costruendo una stringa di testo...

    14/05/2026 - FABIO19701 ha scritto:

    Dim RIGA As Integer = Convert.ToInt32(Dgw.SelectedRows(0).Cells("ID").Value)

    Qui stai estraendo un testo per convertirlo in intero da usare su una stringa?

    Usa i parametri

    PS. Set intestazione = ?

    Dim Query As String = "UPDATE Tabella1 SET INTESTAZIONE = @parametro WHERE ID=@parametrocondizionale"

    Oppure

    Dim Query As String = "UPDATE Tabella1 SET INTESTAZIONE =" & variabile stringa & "  WHERE ID=" & altravariabilestriga

    Credo che per concatenare si usi & non ricordo... E mi secca verificarlo!

    Ok prova così

    Dim conn As New SqlConnection(
    "Server=.\SQLEXPRESS;Database=MioDatabase;Trusted_Connection=True"
    )
    
    Dim RIGA As String= Dgw.SelectedRows(0).Cells("ID").Value
    
    Dim Query As String =
     "UPDATE Tabella1 SET INTESTAZIONE = @parametro WHERE ID = @id"
    
    Dim cmd As New SqlCommand(Query, conn)
    
    cmd.Parameters.AddWithValue("@parametro", variabileStringa)
    cmd.Parameters.AddWithValue("@id", RIGA)
    
    conn.Open()
    cmd.ExecuteNonQuery()
    conn.Close()
  • Grazie a tutti ho risolto

Devi accedere o registrarti per scrivere nel forum
4 risposte