Eu estou tentando fazer a actualizados de dados de uma Datagrid os dados são exibidos no browser mas quando eu faço actualizar os dados da o seguinte erro:
System.InvalidCastException: Object must implement IConvertible. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at gaapi.unidades.DataGridUnidades_Actualizar(Object Source, DataGridCommandEventArgs E) in c:\inetpub\wwwroot\gaapi\unidades.aspx.vb:line 245
o codigo que eu estou a utilizar para fazer o update da datagrid é:
Public Sub DataGridUnidades_Actualizar(ByVal Source As Object, ByVal E As DataGridCommandEventArgs)
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("connstring"))
Dim sqlString As String
Dim cmd As SqlCommand
'Dim txtUidade As TextBox = E.Item.Cells(1).Controls(0)
Pergunta
hpires24
Boas tardes amigos poderiam ajudar-me no seguinte? vou esclarecer minha duvida:
Eu estou tentando fazer a actualizados de dados de uma Datagrid os dados são exibidos no browser mas quando eu faço actualizar os dados da o seguinte erro:
System.InvalidCastException: Object must implement IConvertible. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at gaapi.unidades.DataGridUnidades_Actualizar(Object Source, DataGridCommandEventArgs E) in c:\inetpub\wwwroot\gaapi\unidades.aspx.vb:line 245
o codigo que eu estou a utilizar para fazer o update da datagrid é:
Public Sub DataGridUnidades_Actualizar(ByVal Source As Object, ByVal E As DataGridCommandEventArgs)
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("connstring"))
Dim sqlString As String
Dim cmd As SqlCommand
'Dim txtUidade As TextBox = E.Item.Cells(1).Controls(0)
Dim idunidade As Integer
idunidade = DataGridUnidades.DataKeys(E.Item.ItemIndex)
Dim txtdescricao As TextBox = E.Item.Cells(2).Controls(0)
Dim txttelefone As TextBox = E.Item.Cells(3).Controls(0)
Dim txtmail As TextBox = E.Item.Cells(4).Controls(0)
Dim txtmissao As TextBox = E.Item.Cells(5).Controls(0)
Dim txtobjectivo As TextBox = E.Item.Cells(6).Controls(0)
sqlString = "usp_UpdateUnidades"
Try
conn.Open()
cmd = New SqlCommand(sqlString, conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("@idunid", SqlDbType.Int)
cmd.Parameters("@idunid").Value = idunidade
cmd.Parameters.Add("@descr", SqlDbType.Char)
cmd.Parameters("@descr").Value = txtdescricao
cmd.Parameters.Add("@tele", SqlDbType.Int)
cmd.Parameters("@tele").Value = txttelefone
cmd.Parameters.Add("@mail", SqlDbType.Char)
cmd.Parameters("@mail").Value = txtmail
cmd.Parameters.Add("@miss", SqlDbType.Char)
cmd.Parameters("@miss").Value = txtmissao
cmd.Parameters.Add("@obj", SqlDbType.Char)
cmd.Parameters("@obj").Value = txtobjectivo
'myCommand.Parameters.Add("@param", SqlDbType.Int)
'myCommand.Parameters("@param").Value = E.Item.Cells(1).Text
cmd.ExecuteNonQuery()
'Response.Write(cmd.Parameters.Item(1).Value)
Catch ex As Exception
Response.Write(ex.ToString)
Finally
conn.Close()
End Try
DataGridUnidades.EditItemIndex = -1
If Not IsPostBack Then
Else
BinData()
End If
End Sub
utilizo a seguinte stored procedure:
ALTER procedure dbo.usp_UpdateUnidades
@idunid int,
@descr varchar(255),
@tele int,
@mail varchar(255),
@miss varchar (255),
@obj varchar(255)
as
update gaapi.Unidades set
DESCRICAO_UNIDADE = @descr,
TELEFONE_UNIDADE = @tele,
EMAIL_UNIDADE = @mail,
MISSAO_UNIDADE = @miss,
OBJECTIVO_UNIDADE = @obj
where ID_UNIDADE = @idunid
poderiam ajudar-me se fazem favor?obrigado desde já a todos
O ERRO DA NESTA LINHA cmd.ExecuteNonQuery()
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados