[Resolvido] UPDATE não funciona (Asp.Net 3.5 e Access 2007)
Olá pessoal, tudo bem?
Tenho um Website em Asp.Net 3.5 (VS2008) com Access 2007 que não funciona o UPDATE.
No BD, tenho a seguinte consulta (strored procedure):
UPDATE tb_Funcionarios SET nomeFuncionario = nome, docFuncionario = cpf, codRegistro = numeroFuncionario
WHERE IdFuncionario = IdFuncionario
E no VS2008, tenho o seguinte código (uso dessa forma com sucesso para Select e Insert):
'define o objeto conexao e obtem a string de conexao do arquivo web.config
Dim conn As OleDbConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings("conexaoBD").ToString())
Dim IdFuncionario As Integer = Session("IdFuncionario")
'define a stored procedure que sera executada
Dim cmd As OleDbCommand = New OleDbCommand("sp_AtualizaFuncionario", conn)
cmd.CommandType = CommandType.StoredProcedure
'define os parametros da stored procedure
Dim paramIdFuncionario As New OleDbParameter
Dim paramNomeFuncionario As New OleDbParameter
Dim paramDocFuncionario As New OleDbParameter
Dim paramCodRegistro As New OleDbParameter
'define o tipo e atribui o valor para cada parametro
With paramIdFuncionario
.ParameterName = "IdFuncionario"
.OleDbType = OleDbType.Integer
.Value = IdFuncionario
End With
cmd.Parameters.Add(paramIdFuncionario)
With paramNomeFuncionario
.ParameterName = "nome"
.OleDbType = OleDbType.VarChar
.Value = Me.txtNome.Text
End With
cmd.Parameters.Add(paramNomeFuncionario)
With paramDocFuncionario
.ParameterName = "cpf"
.OleDbType = OleDbType.VarChar
.Value = Me.txtCPF.Text
End With
cmd.Parameters.Add(paramDocFuncionario)
With paramCodRegistro
.ParameterName = "numeroFuncionario"
.OleDbType = OleDbType.VarChar
.Value = Me.txtRegistro.Text
End With
cmd.Parameters.Add(paramCodRegistro)
Try
'abre a conexao e executa a stored procedure
conn.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Me.ClientScript.RegisterStartupScript(Me.[GetType](), "xx", "alert(""Ocorreram problemas no envio do cadastro.\n Erro: " + ex.Message + """)", True)
conn.Close()
Exit Sub
Finally
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End Try
O que estou fazendo de errado?
Obrigado,
Daniel Afonso
Discussão (5)
Carregando comentários...