348 messaggi dal 10 marzo 2013
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 -
252 messaggi dal 03 novembre 2003
Ciao...
questo è giusto?

WHERE IdProfssional=@IdProfessional"

Il nome del CAMPO!!!!

it's not difficult to write, but is difficult write that you mean
348 messaggi dal 10 marzo 2013
No non era giusto.
Pensare che l'ho riletto 1000 volte.
La mia mente mi ha fatto vedere la vocale anche se non c'era.

il problema però rimane!!!

Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.