Ciao a tutti:
Nella mia applicazione, sto aggiungendo un pulsante per la modifica dei record in un database.
Il codice che sto utilizzando lo posto qui sotto.
Il problema è che: Non so come visualizzare nel form i record che devo modificare, che poi vengono visualizzati in una greed view.
Tra le altre cose mi da sempre un errore che cita cosi:
"La query con parametri '(@IdProfessional int,@IdBrevetto int,@P_Cognome varchar,' prevede il parametro @IdProfessional, che non è stato specificato"
Credo di averlo specificato, ho riscritto tutto varie volte.
Grazie per l'aiuto.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim IdProfessional As Integer = Request.QueryString("IdProfessional")
If Not IsPostBack Then
If Request.QueryString("Mode") = "Update" Then
Dim QueryString As String = "SELECT * from T_Professional WHERE IdProfessional =" & IdProfessional
Dim cmd As New SqlCommand(QueryString, conn)
conn.Open()
Dim rs As SqlDataReader = cmd.ExecuteReader
If rs.HasRows Then
rs.Read()
DrpBrevetto.Text = rs("IdBrevetto").ToString
TxtCognome.Text = rs("P_Cognome").ToString
TxtNome.Text = rs("P_Nome").ToString
TxtIndirizzo.Text = rs("P_Indirizzo").ToString
TxtLocalità.Text = rs("P_Località").ToString
TxtCap.Text = rs("P_Cap").ToString
TxtProvincia.Text = rs("P_Provincia").ToString
TxtStato.Text = rs("P_Stato").ToString
TxtDataNascita.Text = rs("P_DataNascita").ToString
TxtLuogo.Text = rs("P_Luogo").ToString
TxtCodiceFiscale.Text = rs("P_CFiscale").ToString
TxtTelefono.Text = rs("P_Telefono").ToString
TxtCellulare.Text = rs("P_Cellulare").ToString
TxtEmail.Text = rs("P_Email").ToString
TxtConsegnaBrev.Text = rs("P_DataCosnegnaBrev").ToString
TxtRinnovoBrev.Text = rs("P_DataRinnovoBrev").ToString
TxtAnnoRinnoveBrevetto.Text = rs("P_AnnoRinnovo").ToString
TxtDataConsSpec.Text = rs("P_DataConsegnaSpec").ToString
TxtDataRinSpec.Text = rs("P_DataRinnovoSpec").ToString
TxtAnnoRinnovoSpecialità.Text = rs("P_AnnoRinnovoSpec").ToString
TxtDataAssicurazione.Text = rs("P_DataAssicurazione").ToString
DrpEsaPoint.Text = rs("IdEsaPoint").ToString
drpIdSpcP.Text = rs("IdSpcp").ToString
DrpEsaPoint1.Text = rs("P_CodiceEPSpec").ToString
End If
conn.Close()
ElseIf Request.QueryString("mode") = "Delete" Then
Dim eraseQuery As String = " Delete from T_Professional WHERE Id = '" & IdProfessional & "'"
Dim cmd As New SqlCommand(eraseQuery, conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Response.Redirect("/.ElencoProf.aspx")
End If
End If
Protected Sub BtnUpdate_Click(sender As Object, e As EventArgs) Handles BtnUpdate.Click
Dim IdProfessional As String = Request.QueryString("IdProfessional")
Dim cmd As SqlCommand
Dim SqlMod As String
Dim DataNascita As Date
Dim DataConsBrev As Date
Dim DataRinnovoBrev As Date
Dim DataConsSpec As Date
Dim DataRinSpec As Date
Dim DataAssicurazione As Date
SqlMod = "Update T_Professional Set "
SqlMod = SqlMod & " P_Cognome=@P_Cognome"
SqlMod = SqlMod & ",P_Nome=@P_Nome"
SqlMod = SqlMod & ",P_Indirizzo=@P_Indirizzo"
SqlMod = SqlMod & ",P_Località=@P_Località"
SqlMod = SqlMod & ",P_Cap=@P_Cap"
SqlMod = SqlMod & ",P_Provincia=@P_Provincia"
SqlMod = SqlMod & ",P_Stato=@P_Stato"
SqlMod = SqlMod & ",P_DataNascita=@P_DataNascita"
SqlMod = SqlMod & ",P_Luogo=@P_Luogo"
SqlMod = SqlMod & ",P_CFiscale=@P_CFiscale"
SqlMod = SqlMod & ",P_Telefono=@P_Telefono"
SqlMod = SqlMod & ",P_Cellulare=@P_Cellulare"
SqlMod = SqlMod & ",P_Email=@P_Email"
SqlMod = SqlMod & ",P_DataConsegnaBrev=@P_DataConsegnaBrev"
SqlMod = SqlMod & ",P_DataRinnovoBrev=@P_DataRinnovoBrev"
SqlMod = SqlMod & ",P_AnnoRinnovo=@P_AnnoRinnovo"
SqlMod = SqlMod & ",P_DataConsegnaSpec=@P_DataConsegnaSpec"
SqlMod = SqlMod & ",P_DataRinnovoSpec=@P_DataRinnovoSpec"
SqlMod = SqlMod & ",P_AnnoRinnovoSpec=@P_AnnoRinnovoSpec"
SqlMod = SqlMod & ",P_DataAssicurazione=@P_DataAssicurazione"
SqlMod = SqlMod & ",P_CodiceIcd=@P_CodiceIcd"
SqlMod = SqlMod & ",IdEsaPoint=@IdEsapoint"
SqlMod = SqlMod & ",IDSpcp=@IDSpcp"
SqlMod = SqlMod & ",P_CodiceEPSpec=@P_CodiceEPSpec"
SqlMod = SqlMod & " WHERE IdProfssional=@IdProfessional"
cmd = New SqlCommand(SqlMod, conn)
cmd.Parameters.Add("@IdProfessional", SqlDbType.Int).Value = IdProfessional
cmd.Parameters.Add("@IdBrevetto", SqlDbType.Int).Value = DrpBrevetto.Text
cmd.Parameters.Add("@P_Cognome", SqlDbType.VarChar).Value = TxtCognome.Text
cmd.Parameters.Add("@P_Nome", SqlDbType.VarChar).Value = TxtNome.Text
cmd.Parameters.Add("@P_Indirizzo", SqlDbType.VarChar).Value = TxtIndirizzo.Text
cmd.Parameters.Add("@P_Località", SqlDbType.VarChar).Value = TxtLocalità.Text
cmd.Parameters.Add("@P_Cap", SqlDbType.VarChar).Value = TxtCap.Text
cmd.Parameters.Add("@P_Provincia", SqlDbType.VarChar).Value = TxtProvincia.Text
cmd.Parameters.Add("@P_Stato", SqlDbType.VarChar).Value = TxtStato.Text
cmd.Parameters.Add("@P_DataNascita", SqlDbType.Date).Value =
If(DateTime.TryParse(TxtDataNascita.Text, DataNascita), DataNascita, DBNull.Value)
cmd.Parameters.Add("@P_Luogo", SqlDbType.VarChar).Value = TxtLuogo.Text
cmd.Parameters.Add("@P_CFiscale", SqlDbType.VarChar).Value = TxtCodiceFiscale.Text
cmd.Parameters.Add("@P_Telefono", SqlDbType.VarChar).Value = TxtTelefono.Text
cmd.Parameters.Add("@P_Cellulare", SqlDbType.VarChar).Value = TxtCellulare.Text
cmd.Parameters.Add("@P_Email", SqlDbType.VarChar).Value = TxtEmail.Text
cmd.Parameters.Add("@P_DataConsegnaBrev", SqlDbType.Date).Value =
If(DateTime.TryParse(TxtConsegnaBrev.Text, DataConsBrev), DataConsBrev, DBNull.Value)
cmd.Parameters.Add("@P_DataRinnovoBrev", SqlDbType.Date).Value =
If(DateTime.TryParse(TxtRinnovoBrev.Text, DataRinnovoBrev), DataRinnovoBrev, DBNull.Value)
cmd.Parameters.Add("@P_DataConsegnaSpec", SqlDbType.Date).Value =
If(DateTime.TryParse(TxtDataConsSpec.Text, DataConsSpec), DataConsSpec, DBNull.Value)
cmd.Parameters.Add("@P_DataRinnovoSpec", SqlDbType.Date).Value =
If(DateTime.TryParse(TxtDataRinSpec.Text, DataRinSpec), DataRinSpec, DBNull.Value)
cmd.Parameters.Add("@P_AnnoRinnovo", SqlDbType.VarChar).Value = TxtAnnoRinnoveBrevetto.Text
cmd.Parameters.Add("@P_AnnoRinnovoSpec", SqlDbType.VarChar).Value = TxtAnnoRinnovoSpecialità.Text
cmd.Parameters.Add("@P_DataAssicurazione", SqlDbType.Date).Value =
If(DateTime.TryParse(TxtDataAssicurazione.Text, DataAssicurazione), DataAssicurazione, DBNull.Value)
cmd.Parameters.Add("@P_CodiceIcd", SqlDbType.VarChar).Value = TxtCodiceIcd.Text
cmd.Parameters.Add("@IdEsaPoint", SqlDbType.Int).Value = DrpEsaPoint.Text
cmd.Parameters.Add("@IDSpcp", SqlDbType.Int).Value = drpIdSpcP.Text
cmd.Parameters.Add("@P_CodiceEPSpec", SqlDbType.Int).Value = DrpEsaPoint1.Text
conn.Open()
cmd.ExecuteNonQuery()
If (cmd.ExecuteNonQuery()) Then
Response.Redirect("./ElencoProf.aspx")
End If
End Sub
Modificato da Oiram il 19 giugno 2014 11.34 -