Ir para conteúdo

POWERED BY:

Arquivado

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

Negrito

ASP - Editando registros no Banco de Dados Access - Dificuldade pra re

Recommended Posts

Ola amigos,Estou precisando da ajuda dos senhores, estou apanhando aqui para definir o comando correto.Para resumir , eu possui um BD Access com uma Tabela de Clientes, nessa tabela, existem vários campos de emails e cada campo de email possui um CheckBox definido como: (sim/não)Ou seja, quando eu disparar um email em massa para os meus clientes, todos os emails que estiverem setados como SIM receberam minhas msgs. Esses emails que recebem a msg irão possuir uma TAG para caso o cliente queira deixar de receber msgs e aí vem o problema.A TAG ira redirecionar o cliente para uma URL com o final remover.asp?email=fulano@empresa.com.brAi vem os comandos que eu criei desse arquivo "REMOVER.ASP":------------------------// inicio //----------------------------------dim emailemail = request.queryString("email")Set RS = Server.CreateObject("ADODB.Recordset")SQL = "SELECT * FROM tbl_cliente WHERE Email_resp_empresa and Email_tec_1 and Email_tec_2 and Email_cobranca='" & (email) & "'"RS.Open SQL, Conn, 1, 3RS.if Not RS.EOF or RS.BOF thenRS("Receber_news_resp") = "0"else if Not RS.EOF or RS.BOF thenRS("Receber_news_tec1") = "0"else if Not RS.EOF or RS.BOF thenRS("Receber_news_tec2") = "0"elseRS("Receber_news_cob") = "0"RS.updateend ifRS.closeSet RS = nothing response.write("<br><br><center>Seu e-mail <b>" & (email) & "</b> foi removido com sucesso !</center>")------------------------// fim //----------------------------------Ou seja, ele pega a String da URL depois do ? (interrogação) que é o email do cliente.Em seguida faço uma conexão no BD e verifico as colunas dos emails e qual delas possui a conta a ser removida. Na verdade a conta não vai ser removido, o cliente vai apenas DESselecionar o CheckBoxs diretamente no banco. Ou seja, se a coluna do email for igual ao do seu CheckBox , o mesmo passara a ter a informação "0" que é desligado !Porém esse meu codigo não funciona , pois ele deseleciona todos os checkbox que estiver na linha do email no BD.Em algum lugar estou errando !Alguem , poderia me ajudar !?Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,Consegui fazer com que o usuário DESselecione a opção de não receber mais e-mails, com o serguinte codigo:--------------------------// INICIO //---------------------------- email = request.querystring("email") Executar = "UPDATE tbl_cliente SET Receber_news_resp = 0 WHERE Email_resp_empresa = '" & (email) & "'" Set RecSet = Conn.Execute(Executar) Executar = "UPDATE tbl_cliente SET Receber_news_tec1 = 0 WHERE Email_tec_1 = '" & (email) & "'" Set RecSet = Conn.Execute(Executar) Executar = "UPDATE tbl_cliente SET Receber_news_tec2 = 0 WHERE Email_tec_2 = '" & (email) & "'" Set RecSet = Conn.Execute(Executar) Executar = "UPDATE tbl_cliente SET Receber_news_cob = 0 WHERE Email_cobranca = '" & (email) & "'" Set RecSet = Conn.Execute(Executar) --------------------------// FIM //----------------------------Porem caso ele coloque um email errado ou invalido ou inexistente , eu gostaria que ele recebesse um email informando que ele não esta cadastrado.Como posso fazer isso ?Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma SQL no seu banco de dados, verificando na tabela correspondente o email do usuario, se o email não existir então envia uma mensagem pra ele informando do erro..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola Bruno,

 

Seguindo a logica , criei o seguinte:

 

<%

Dim email

Dim Action

Dim SQL

 

email = request.querystring("email")

 

Set RS = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT * FROM tbl_cliente WHERE Email_resp_empresa AND Email_tec_1 AND Email_tec_2 AND Email_cobranca = '" & (email) & "'"

RS.Open SQL, Conn, 2, 2

 

If NOT Rs.EOF Then

 

Action = "O e-Mail: "&email&" não existe no Banco de Dados !"

 

Else

 

Executar = "UPDATE tbl_cliente SET Receber_news_resp = 0 WHERE Email_resp_empresa = '" & (email) & "'"

Set RecSet = Conn.Execute(Executar)

 

Executar = "UPDATE tbl_cliente SET Receber_news_tec1 = 0 WHERE Email_tec_1 = '" & (email) & "'"

Set RecSet = Conn.Execute(Executar)

 

Executar = "UPDATE tbl_cliente SET Receber_news_tec2 = 0 WHERE Email_tec_2 = '" & (email) & "'"

Set RecSet = Conn.Execute(Executar)

 

Executar = "UPDATE tbl_cliente SET Receber_news_cob = 0 WHERE Email_cobranca = '" & (email) & "'"

Set RecSet = Conn.Execute(Executar)

 

Action = "O e-Mail: "&email&" foi removido com sucesso !"

 

End if

 

RS.close

set RS = nothing

%>

 

Porem ele so passa uma unica informação para o usuario que é : SEU FOI REMOVIDO !

 

Esteja cadastrado o email ou não , ele passa essa info.

 

Aonde sera q estou errando hein !?!?!

 

Obrigado pela ajuda.

 

Abs.

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.