Apportata la modifica da te suggerita ma continua con lo stesso problema: nessun errore, ma scrive sempre e solo su una tabella e non su tutte e due come vorrei.
è possibile che il problema sia dovuto al fatto che ho usato degli alias di tabella nella Vista da dove recupero i dati e che poi per scrivere su una delle 2 tabelle uso i nomi originali?
<asp:TemplateField HeaderText="Validation">
<ItemTemplate>
<asp:HiddenField ID="HdnValidation" runat="server" Value='<%#Eval("IdTrainer") %>'/>
<asp:CheckBox ID="ChbConvalida" runat="server" />
</ItemTemplate>
</asp:TemplateField>
In Realta IdTrainer è un Alias IdProfessional.
Ma se uso IdProfessional mi va in errore usando Id Trainer non succede nulla.
A questo punto non so fare le query usando gli alias.
Protected Sub Convailda_Click(sender As Object, e As EventArgs) Handles Convailda.Click
Dim Elementivalidati As Boolean = False
'Dim StrNomeCartella As String = "~/Temp/RinnovoPro/" & Now.ToString("HH_mm_ss") & "/"
For Each riga As GridViewRow In GridView1.Rows
Dim ChbConvalida As WebControls.CheckBox = riga.FindControl("ChbConvalida")
If ChbConvalida.Checked Then
Dim HdnValidation As WebControls.HiddenField = riga.FindControl("HdnValidation")
Dim IdRinnovoPro As Integer = HdnValidation.Value
Dim IdProfessional As Integer = HdnValidation.Value
' GeneraPDF(IdRinnovoPro, StrNomeCartella)
Elementivalidati = True
Dim queryString As String = "UPDATE V_StampaRinnovoPro set Convalida = 1 WHERE IdRinnovoPro = " & IdRinnovoPro
Dim querystring1 As String = "UPDATE T_Professional set Convalida = 1 WHERE IdProfessional = " & IdProfessional
Dim cmd As New SqlCommand(queryString, conn)
Dim cmd1 As New SqlCommand(querystring1, conn)
conn.Open()
cmd.ExecuteNonQuery()
cmd1.ExecuteNonQuery()
conn.Close()
End If
Next