Ir para conteúdo

Arquivado

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

CaBo GeL

Asp.net com VB

Recommended Posts

Ola pessoal,

primeiramente kero dizer q estou iniciando em asp.net, e keria uma ajudinha de vcs pode ser??

 

- e o seguinte, fiz um exemplo bem simples para estudar a plataforma, e n conseguir ainda resolver esse erro! aparentemente simples! vejam!

 

Mostrando.aspx

<%@Page Language="VB" Debug="True" Explicit="True" %>

<%@Import NameSpace="System.Data" %>

<%@Import NameSpace="System.Data.ODBC" %>

<!--#Include File="MovMostrando.aspx"-->

 

<form runat="server">

<%

Dim DtReader As OdbcDataReader

Dim Comando1 As New OdbcCommand("Select * From Cadastro",Conexao)

 

Conexao.Open

DtReader=Comando1.ExecuteReader

 

While DtReader.Read

CodigoCliente.Text = DtReader.Item("CodCli")

NomeCliente.Text = DtReader.Item("NomeCli")

TelCliente.Text = DtReader.Item("TelCli")

EmailCliente.Text = DtReader.Item("EmailCli")

%>

 

<br>

<asp:Label id="LbMensagem" Text="" runat="server"/>

<br>

<asp:textbox Id="CodigoCliente" runat="server"/>

<br>

<asp:textbox Id="NomeCliente" runat="server"/>

<br>

<asp:textbox Id="TelCliente" runat="server"/>

<br>

<asp:textbox Id="EmailCliente" runat="server"/>

<br>

<asp:button Id="BtAtualizar" Text="Atualizar" OnClick="Atualizar" runat="server"/>

<asp:button Id="BtLimpar" Text="Limpar" OnClick="Limpar" runat="server"/>

<br>

 

<%

End While

DtReader.Close()

Conexao.Close()

%>

</form>

 

 

MovMostrando.aspx

<!--#Include File="Conexao.aspx"-->

 

<script runat="server">

Dim vCodigoCliente, vNomeCliente, vTelCliente, vEmailCliente As String

 

Sub Atualizar(Sender As Object, e As EventArgs)

vCodigoCliente = CodigoCliente.Text

vNomeCliente = NomeCliente.Text

vTelCliente = TelCliente.Text

vEmailCliente = EmailCliente.Text

 

Try

Dim Comando2 As New OdbcCommand("UPdate Cadastro Set NomeCli='"+vNomeCliente+"', TelCli='"+vTelCliente+"', EmailCli='"+vEmailCliente+"' Where CodCli="+vCodigoCliente,Conexao)

 

Conexao.Open

Comando2.ExecuteNonQuery

LbMensagem.Text = "Dados Atualizados com Sucesso!"

Conexao.Close

Catch

LbMensagem.Text = "Operação Cancelada"

End Try

End Sub

 

Sub Limpar(Sender As Object, e As Eventargs)

LbMensagem.Text = ""

End Sub

</script>

 

 

Conexao.aspx

<script runat="server">

Dim Conexao As New OdbcConnection("Driver=MySql;Server=LocalHost;uid=;pwd=;DataBase=JeanCarlos")

</script>

 

o erro q esta dando e na conexao.Open da pagina Mostrando.aspx somente qndo eu clico em Atulizar

 

o que estou fazendo errado??

 

Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a descricao do erro acima essa:The connection was not closed. The connection's current state is open. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.InvalidOperationException: The connection was not closed. The connection's current state is open.Source Error: Line 9: Dim Comando1 As New OdbcCommand("Select * From Cadastro",Conexao)Line 10: Line 11: Conexao.OpenLine 12: DtReader=Comando1.ExecuteReaderLine 13: Source File: c:\inetpub\wwwroot\EstudandoDotNet\Projetos\Mostrando.aspx Line: 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal, qndo eu faco assim: sem fazer loop dos redistro ele funciona normal, porem so tem como atualizar somente 1 registro..

Mostrando.aspx

<%@Page Language="VB" Debug="True" Explicit="True" %>

<%@Import NameSpace="System.Data" %>

<%@Import NameSpace="System.Data.ODBC" %>

<!--#Include File="MovMostrando.aspx"-->

<form runat="server">

<%

Dim DtReader As OdbcDataReader

Dim Comando1 As New OdbcCommand("Select * From Cadastro",Conexao)

 

Conexao.Open

DtReader=Comando1.ExecuteReader

 

DtReader.Read

CodigoCliente.Text = DtReader.Item("CodCli")

NomeCliente.Text = DtReader.Item("NomeCli")

TelCliente.Text = DtReader.Item("TelCli")

EmailCliente.Text = DtReader.Item("EmailCli")

%>

 

<br>

<asp:Label id="LbMensagem" Text="" runat="server"/>

<br>

<asp:textbox Id="CodigoCliente" runat="server"/>

<br>

<asp:textbox Id="NomeCliente" runat="server"/>

<br>

<asp:textbox Id="TelCliente" runat="server"/>

<br>

<asp:textbox Id="EmailCliente" runat="server"/>

<br>

<asp:button Id="BtAtualizar" Text="Atualizar" OnClick="Atualizar" runat="server"/>

<asp:button Id="BtLimpar" Text="Limpar" OnClick="Limpar" runat="server"/>

<br>

 

<%

 

DtReader.Close()

Conexao.Close()

%>

</form>

 

 

o que eu keria fazer um loop de todos os registo do banco, e atualizar somente akiele registro que eu escolher! !!

entenderam??

valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother provavelmente você esta tentando abrir uma conexão que ja esteja aberta.

Crie uma função que pra tratar toda que vez que você abra e feche conexão. Quando você mandar abrir, ela irá verificar se ja esta aberta.

Assim não irá dar erro.

 

Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother provavelmente você esta tentando abrir uma conexão que ja esteja aberta.Crie uma função que pra tratar toda que vez que você abra e feche conexão. Quando você mandar abrir, ela irá verificar se ja esta aberta. Assim não irá dar erro.Falows

broder... qndo eu retiro o While.. logicamente q ele n irar fazer um Loop dos registro.. correto???porem funciona mormalmente sem fazer loop do registro, mas keria fazer um loop dos registros para mostrar todos os registros q eu kero atualizar entendeu???o porblema esta nesse while... saco???você poderia me dar um exemplo de como fazer um loop dos registro e atualizar??? pois acho q estou fazendo alguma coisa errada dentro do criterio While!!!valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então..tenta colocar o seguinte[Nome do data Reader]=[Nome do comando].ExecuteReader(System.Data.CommandBehavior.CloseConnection)pelo que eu saiba.. isso dá certo.. pelo menos no projeto que eu to fazendo..Abraços, e espero que tenha ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

então.. não tenho nenhum exemplo desse jeito..mas será que você poderia me explicar mais detalhadamente o que o programa faz?? pq não estou conseguindo ler a linha de código.. quem sabe entendendo ela eu consigo te ajudarabraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

então.. não tenho nenhum exemplo desse jeito..mas será que você poderia me explicar mais detalhadamente o que o programa faz?? pq não estou conseguindo ler a linha de código.. quem sabe entendendo ela eu consigo te ajudarabraços

Opa Rdrigão!!!Cara eu andei testando o programa e o que está acontecendo e o seguinte:Qndo estou fazendo o LOOP dos redistros.. n tela ele está mostrando normalmente assim:Codigo: 15Nome: Paulo CesarTelefone: 3333-3333E-mail: Paulo@paulo.com.br[ATUALIAZAR] [LIMPAR]Codigo: 16Nome: Maria LoisaTelefone: 3333-3333E-mail: maria@maria.com.br[ATUALIAZAR] [LIMPAR]Codigo: 17Nome: Evandro SantosTelefone: 3333-3333E-mail: Evandro @Evandro .com.br[ATUALIAZAR] [LIMPAR]Ta mostrando mormalmente os codigos nos seus devidos lugares..e fiz um teste no MovMostrando.aspx qndo os codigos são puxados e esta uxando assim:15, 16, 17o normal seria puxar somente um codigo para fazer a atualizacao daquele regitrosera q fui claro????? :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara coloque na página do developercenter para eu ver a situação cara e coloque o link ai só quero ver funcionando!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara coloque na página do developercenter para eu ver a situação cara e coloque o link ai só quero ver funcionando!

mas cara como você ker ver funcionando se ta com erro????

 

o maximo q vai ver e isso ai:

 

The connection was not closed. The connection's current state is open.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.InvalidOperationException: The connection was not closed. The connection's current state is open.

 

Source Error:

 

 

Line 9: Dim Comando1 As New OdbcCommand("Select * From Cadastro",Conexao)

Line 10:

Line 11: Conexao.Open

Line 12: DtReader=Comando1.ExecuteReader

Line 13:

 

 

Source File: c:\inetpub\wwwroot\EstudandoDotNet\Projetos\Mostrando.aspx Line: 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro esta causando pq esta puxando os tres codigos dos tres regidtro, seria impossivel atualizar onde codigo for igual a: 15, 16, 17.ele teria que puxar somente um codigo e nao 15, 16, 17.pq ele esta puxando os tres codigo de vez ?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. eu tenho uma idéia que talvez possa funcionar..pq você não usa um array para guardar esses códigos?? e faz uma pesquisa baseada nesse array??se tiver dificuldades.. é só dizer

cara a ideia e boa... mas n tenho ideia de como fazer esse array pois esta dentro de um Loop! poderia fazer um exemplo??abracos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai ter que fazer o seguinte:

Coloque os formulários em HTML mesmo fazendo assim:

 

englobe o form com o laço e no action do form coloque assim:

 

<form method="post" action="Mostrando.aspx?Atualizar=Dados&ID=<% Nome_da_Coluna_ID %>">

e depois você faz uma condição

 

If Request.QueryString("Atualizar") = "Dados" Then
sql para atualizar pela querystring ID
End If

Teste isso e veja se funiona

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.