cintiadel 0 Denunciar post Postado Janeiro 19, 2009 gostaria de inserir, atualizar enfim essas informações de acordo com o q for selecionado, mas estou tentando uma grande dificuldade com os vários ifs q tenho q fazer eu tenho seguinte formulario abaixo: <table> <tr> <td colspan="2"> <span class="style6">Cadastre seu e-mail :</span></td> </tr> <tr> <td class="style7"> E-mail:</td> <td style="text-align: left"> <asp:TextBox ID="txt_email" runat="server" Width="300px"/> </td> </tr> <tr> <td colspan="2"> <span class="style6">Selecione quais informações você deseja receber em seu e-mail: </span></td> </tr> <tr> <td style="text-align: left" colspan="2" class="style8"> <asp:CheckBox ID="ckb_n" runat="server" Font-Names="Arial Unicode MS" Font-Size="Small" Text="Servico 2"/> </td> </tr> <tr> <td style="text-align: left" colspan="2" class="style8"> <asp:CheckBox ID="ckb_b" runat="server" Font-Names="Arial Unicode MS" Font-Size="Small" Text="Serviço 2" /> </td> </tr> <tr> <td style="text-align: left" colspan="2"> <asp:ImageButton ID="btn_enviar" runat="server" ImageUrl="~/img/enviar.png" /> </td> </tr> </table> Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 19, 2009 Este tópico é referente ao mesmo problema desse: http://forum.imasters.com.br/index.php?showtopic=327266 ?? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 19, 2009 Este tópico é referente ao mesmo problema desse: http://forum.imasters.com.br/index.php?showtopic=327266 ?? Abraços... não exatamente, seria o próximo passo na verdade. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 20, 2009 De uma olhada: http://www.stardeveloper.com/articles/disp...0201&page=1 Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 20, 2009 De uma olhada: http://www.stardeveloper.com/articles/disp...0201&page=1 Abraços... o problema q eu n to sabendo onde esvaziar e como capturar o novo valor do textbox e fazer ifs de varios comandos sql, pq sera um de acordo com o outro Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 21, 2009 De uma olhada: http://www.stardeveloper.com/articles/disp...0201&page=1 Abraços... bom é bem parecido com o q eu quero mas n ensina como fazer...ao clicar no botão cadastrar e-mail ele me exibe a tela postada acima. se a pessoa ja estiver cadastrada, ele me traz os dados, como no outro post q estava me ajudando. o problema é que eu n estou conseguindo fazer com q ele verifique e capture se a pessoa alterou o e-mail no text box, segue o meu codigo abaixo: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim conexao As New Data.SqlClient.SqlConnection("stringdeconexao") Dim comando As New Data.SqlClient.SqlCommand Dim email As Data.SqlClient.SqlDataReader Dim serv As Data.SqlClient.SqlDataReader conexao.Open() comando.Connection = conexao comando.CommandText = "Select codigo, al_codigo, cod_servico, email from tabela1 inner join tabela2 ON tabela2.codigo = tabela1.al_codigo where tabela2.codigo='" & Session("cod") & "'" email = comando.ExecuteReader() email.Read() If email.HasRows = True Then txt_email.Text = email("email") Else txt_email.Text = "" End If conexao.Close() conexao.Open() comando.Connection = conexao comando.CommandText = "Select * from tabela2 where al_codigo='" & Session("cod") & "' and cod_servico=1" serv = comando.ExecuteReader() serv.Read() 'Converte o valor para booleano If serv.HasRows = True Then ckb_n.Checked = CBool(serv("cod_servico")) Else ckb_n.Checked = False End If conexao.Close() conexao.Open() comando.Connection = conexao comando.CommandText = "Select * from tabela2 where al_codigo='" & Session("ra") & "' and cod_servico=2" serv = comando.ExecuteReader() serv.Read() If serv.HasRows = True Then ckb_b.Checked = CBool(serv("cod_servico")) Else ckb_b.Checked = False End If conexao.Close() End Sub Protected Sub btn_enviar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btn_enviar.Click Dim conexao As New Data.SqlClient.SqlConnection("stringdeconexao") Dim comando As New Data.SqlClient.SqlCommand Dim email As Data.SqlClient.SqlDataReader comando.Connection = conexao conexao.Open() comando.CommandText = "Select * from tabela1 where al_codigo='" & Session("cod") & "'" email = comando.ExecuteReader() email.Read() If email.HasRows = True Then If email("email") <> txt_email.Text Then Response.Write("txt_email") Session("email") = Request.Form(txt_email.Text) comando.CommandText = "Update tabela1 set email='" & Session("email") & "',ativo='N' where al_codigo='" & Session("cod") & "'" ElseIf email("email") = "" Then comando.CommandText = "Insert into tabela1 (al_codigo,email,ativo) values ('" & Session("cod") & "','" & txt_email.Text & "','N')" End If conexao.Close() End If conexao.Open() comando.CommandText = "Delete from tabela2 where al_codigo='" & Session("cod") & "'" email = comando.ExecuteReader() email.Read() conexao.Close() If ckb_n.Checked = True Then conexao.Open() comando.CommandText = "Insert into tabela2 (al_codigo,cod_servico) values ('" & Session("cod") & "',1)" email = comando.ExecuteReader() email.Read() End If If ckb_b.Checked = True Then conexao.Open() comando.CommandText = "Insert into tabela2 (al_codigo,cod_servico) values ('" & Session("cod") & "',2)" email = comando.ExecuteReader() email.Read() End If conexao.Close() Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 22, 2009 Não existe um botão próprio pra isso, alterar e-mail? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 22, 2009 Não existe um botão próprio pra isso, alterar e-mail? Abraços... ao clicar no botao cadastrar e-mail, ele exibe a tela acima, nessa tela ele pode cadastrar se n estiver cadastrado, ou alterar o e-mail e o q ele quer receber.e ao clicar no botao enviar, eu quero q ele verifique o caso e execute o sql Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 22, 2009 Ta, mas para alterar ele tem que informar o antigo ou ter alguma tela de login antes de poder alterar se não é impossível saber é um novo cadastrado ou não. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 22, 2009 Ta, mas para alterar ele tem que informar o antigo ou ter alguma tela de login antes de poder alterar se não é impossível saber é um novo cadastrado ou não. Abraços... o sistema é assim, é uma central de alunos, onde o aluno tem a tela de login, ao entrar ele tem a opcao de ver as notas, etc.uma das opções é o botão cadastrar e-mail, onde ele pode escolher receber avisos, como as notas e boletos por e-mail. no caso ele n precisa informar o antigo, pq se estiver cadastrado a tela ja vai exibir o antigo, so preciso checar se ele alterou as opcoes, se ele alterou dar o update, e se n estava cadastrado preciso executar o insert. será q deu pra entender agora.....???? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 22, 2009 pq se estiver cadastrado a tela ja vai exibir o antigo Você irá exibir o antigo em um textbox ou label. Só verificar se o texto do seu objeto é diferente de branco, se for quer dizer que já existia um antigo. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 23, 2009 pq se estiver cadastrado a tela ja vai exibir o antigo Você irá exibir o antigo em um textbox ou label. Só verificar se o texto do seu objeto é diferente de branco, se for quer dizer que já existia um antigo. Abraços... estou exibindo num textbox, mas ao digitar um novo n estou conseguindo capturar o novo email digitado, só o q ele trouxe do banco Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 23, 2009 O que código que alimenta seu textbox por acaso esta no Page_Load? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 23, 2009 O que código que alimenta seu textbox por acaso esta no Page_Load? Abraços... sim Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 23, 2009 Acredito que você esteja esquecendo de colocar dentro da do IF: If Not IsPostBack Then 'Seu Código End If Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 24, 2009 Acredito que você esteja esquecendo de colocar dentro da do IF: If Not IsPostBack Then 'Seu Código End If Abraços... estava esquecendo de colocar Not IsPostBack mas continuo com problema como executar datareaders diferentes? como e onde fechar o datareader? está dando erro: Já existe um DataReader aberto associado a este comando que deve ser fechado primeiro. Dim email As Data.SqlClient.SqlDataReader Dim email2 As Data.SqlClient.SqlDataReader comando.Connection = conexao conexao.Open() comando.CommandText = "Select * from tabela1 where al_codigo='" & Session("cod") & "'" email = comando.ExecuteReader() email.Read() If email.HasRows = True Then If email("email") <> txt_email.Text Then Session("email") = txt_email.Text comando.CommandText = "Update tabela1 set email='" & Session("txt_email") & "',ativo='N' where al_codigo='" & Session("cod") & "'" email2 = comando.ExecuteReader email2.Read() ElseIf email("email") = "" Then comando.CommandText = "Insert into tabela1 (al_codigo,email,ativo) values ('" & Session("cod") & "','" & txt_email.Text & "','N')" email2 = comando.ExecuteReader email2.Read() End If conexao.Close() End If Da erro: Já existe um DataReader aberto associado a este comando que deve ser fechado primeiro. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 25, 2009 Você terá que fechar o primeiro para criar outro. Armazene os resultados que precisa do primeiro em variáveis. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 26, 2009 Você terá que fechar o primeiro para criar outro. Armazene os resultados que precisa do primeiro em variáveis. Abraços... fechei colocando: email.Close()e deu "Tentativa inválida de HasRows quando a leitora estava fechada." declarei a varivel dessa forma: Dim vemail As String = email.HasRows Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 26, 2009 Como eu disse você terá que gravar os resultados em variáveis, pois quando fechar seu DataReader não poderá mais acessa-lo. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 27, 2009 Como eu disse você terá que gravar os resultados em variáveis, pois quando fechar seu DataReader não poderá mais acessa-lo. Abraços... mas eu n acabo de fazer isso?o que eu devo jogar na variavel? Compartilhar este post Link para o post Compartilhar em outros sites