Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

N3G4T1V3

Erro no update

Recommended Posts

Galera to usando o seguinte código pra update:'Conecta com o banco SQL Dim cn As New SqlClient.SqlConnection(ConfigurationSettings.AppSettings("ConnectionString")) 'Abre o Banco cn.Open() 'Edita Administrador Dim MySQL As String = "UPDATE Administrador SET NomeCompleto = @NomeCompleto, Cpf = @Cpf, TelResidencial = @TelResidencial, TelComercial = @TelComercial, Celular = @Celular, Email = @Email, Senha = @Senha WHERE id= " & Request.QueryString("id") Dim Cmd As New SqlClient.SqlCommand(MySQL, cn) Cmd.Parameters.Add(New SqlClient.SqlParameter("@NomeCompleto", txtNome.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Cpf", txtCpf.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@TelResidencial", txtResidencial.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@TelComercial", txtComercial.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Celular", txtCelular.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Email", txtEmail.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Senha", txtSenha.Text)) Cmd.ExecuteNonQuery()mas eu edito e ele num muda nada alguem sabe o que to fazendo de errado??

Compartilhar este post


Link para o post
Compartilhar em outros sites

só uma coisa... nunca use Concatenação de variáveis em SQL... use sempre parameter...substitua o Request ID q você fez no SQL e coloque como parameter e veja se funciona!!Att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

troquei para:'Conecta com o banco SQL Dim cn As New SqlClient.SqlConnection(ConfigurationSettings.AppSettings("ConnectionString")) 'Abre o Banco cn.Open() 'Edita Administrador Dim MySQL As String = "UPDATE Administrador SET NomeCompleto = @NomeCompleto, Cpf = @Cpf, TelResidencial = @TelResidencial, TelComercial = @TelComercial, Celular = @Celular, Email = @Email, Senha = @Senha WHERE id = @id" Dim Cmd As New SqlClient.SqlCommand(MySQL, cn) Cmd.Parameters.Add(New SqlClient.SqlParameter("@NomeCompleto", txtNome.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Cpf", txtCpf.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@TelResidencial", txtResidencial.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@TelComercial", txtComercial.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Celular", txtCelular.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Email", txtEmail.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@Senha", txtSenha.Text)) Cmd.Parameters.Add(New SqlClient.SqlParameter("@id", Request.QueryString("id"))) Cmd.ExecuteNonQuery()e mesmo assim nada.... =(

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, sinceramente não estou vendo nenhum erro!!!num está retornando nenhum erro na hora de executar??Att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, não vi erro nenhum...faz o seguinte, faça um teste pegando a instrução e executando diretamente no banco de dados... colocando você mesmo os valores pelo QueryAnalyzer... e veja se acontece alguma coisa... não é possivel!! ahahhaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo queryanalizer consegui fazer dessa maneira:

 

Declare @NomeCompleto varchar(60)

Set @NomeCompleto = 'Paulo'

Declare @Cpf varchar(11)

Set @Cpf = '66666666666'

Declare @TelResidencial varchar(8)

Set @TelResidencial = '99999999'

Declare @TelComercial varchar(8)

Set @TelComercial = '99999999'

Declare @Celular varchar(8)

Set @Celular = '99999999'

Declare @Email varchar(50)

Set @Email = 'pgentile@globo.com'

Declare @Senha varchar(10)

Set @Senha = '1234'

Declare @id int

Set @id = '1'

UPDATE [Administrador]

SET [NomeCompleto] = @NomeCompleto, [Cpf] = @Cpf, [TelResidencial] = @TelResidencial, [TelComercial] = @TelComercial, [Celular] = @Celular, = @Email, [senha] = @Senha

WHERE [id] = @id

 

 

mas ainda não descobri qual é o problema no meu código..

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta no seu codigo declarar os tipos dos parametros... pelo SqlDbTypepode ser isso... comigo nunca deu problema com isso... mas sempre declarei os tipos dos parametros...Att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

dim prm as SqlParameter("@ID",SqlDbType.Int, 4)prm.Value = 1seria +ou- assim... só testar!!ok?att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei assim e nada:Dim prmNome As New SqlClient.SqlParameter("@NomeCompleto", SqlDbType.VarChar, 60) prmNome.Value = txtNome.Text Cmd.Parameters.Add(prmNome)vou chorar!!!! buaaaaaque update impossivel é esse!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assimno WHERE ID substitui para WHERE [id]veja se funfa!!! pode ser isso... ahahha é uma hipótese, pois você está usando um nome reservado do SQL Server...Att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me deram uma sugestão de tentar via procedure... ai criei uma +- assim:Create Proc Proc_Altera_Administrador @id int,@NomeCompleto varchar(60), Cpf varchar(11), TelResidencial numericr(8,0), TelComercial numericr(8,0), Celular numericr(8,0), Email varchar(60), Senha varchar(15) asUPDATE Administrador SET NomeCompleto = @NomeCompleto, Cpf = @Cpf, TelResidencial = @TelResidencial, TelComercial = @TelComercial, Celular = @Celular, Email = @Email, Senha = @Senha WHERE id = @idcerto só que eu só num sei como executar ela no .net e passar as variaveis pra procedure se tiver como alguem posta um exemplo ja ajuda hehe vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui o código para a stored procedure rodar mas mesmo assim nem com stored procedures funcionou... meu deus que acontece!!! ele exclui e inseri mas editar eu num consigo!! pelo amor o que será que acontece..por favor me deem um help nem que eu tenha que pagar pra alguem concerta isso pq preciso entrega isso até o fim de mês e impaquei nessa parte...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.