Pessoal estou desenvolvendo um programa para uma biblioteca em vb.net e sql 2008
ai estou fazendo a tela de devolução de livros
e tenho as seguintes tabelas: alunos,livros e aluguel,
ai estou com um problema na tela de devolução de livro,
estou qrendo fazer a verificação se este aluno realmente tem este livro alugado, sendo assim faço uma pesquisa na tabela aluguel onde nome_aluno=@nome_aluno and Nome_Livro=@Nome livro
maas está dando o segiunte erro:
The connection was not closed. The connection's current state is open.
maas eu já tentei fexar o cn.close em tudo qualquer lugar mas n da certo :s
segue meu codigo :
Dim sql As String = "exec pr_dev_Aluguel '" + mskRG.Text + "','" + txtNomeLivro.Text + "'"
Dim cmd As New SqlCommand(sql, cn)
Dim sql2 As String = "exec pr_upd_Devolucao_QtdLivros '" + txtNomeLivro.Text + "','" + txtQtdDevolver.Text + "'"
Dim cmd2 As New SqlCommand(sql2, cn)
Dim sqlPesquisa As String = "pr_sel_Aluguel '" + txtNome.Text + "','" + txtNomeLivro.Text + "'"
Dim cmdPesquisa As New SqlCommand(sqlPesquisa, cn)
cn.Open()
dr = cmdPesquisa.ExecuteReader
If dr.HasRows = False Then
MsgBox("Este aluno não está com este livro locado")
cn.Close()
dr.Close()
Exit Sub
End If
If dr.HasRows = True Then
Try
cn.Open()
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
txtIDlivro.Clear()
txtNomeLivro.Clear()
txtAutor.Clear()
txtEditora.Clear()
MskDataEntrega.Clear()
txtQtdDevolver.Clear()
MskDataEntrega.Clear()
mskRG.Clear()
txtNome.Clear()
txtAutor.Clear()
txtIDaluno.Clear()
txtDataAluguel.Clear()
Finally
cn.Close()
End Try
MsgBox("Livro devolvido com Sucesso")
End If
algm sabe onde está este erro? porque já n sei mais o que fazer ai :s
obrigado.
o erro é logo no cn.open depois do TRY
e se eu tiro a verificação do sqlPesquisa e tal, o codigo funciona normal
Question
Gustavo Ricardo
Pessoal estou desenvolvendo um programa para uma biblioteca em vb.net e sql 2008
ai estou fazendo a tela de devolução de livros
e tenho as seguintes tabelas: alunos,livros e aluguel,
ai estou com um problema na tela de devolução de livro,
estou qrendo fazer a verificação se este aluno realmente tem este livro alugado, sendo assim faço uma pesquisa na tabela aluguel onde nome_aluno=@nome_aluno and Nome_Livro=@Nome livro
maas está dando o segiunte erro:
The connection was not closed. The connection's current state is open.
maas eu já tentei fexar o cn.close em tudo qualquer lugar mas n da certo :s
segue meu codigo :
Dim sql As String = "exec pr_dev_Aluguel '" + mskRG.Text + "','" + txtNomeLivro.Text + "'"
Dim cmd As New SqlCommand(sql, cn)
Dim sql2 As String = "exec pr_upd_Devolucao_QtdLivros '" + txtNomeLivro.Text + "','" + txtQtdDevolver.Text + "'"
Dim cmd2 As New SqlCommand(sql2, cn)
Dim sqlPesquisa As String = "pr_sel_Aluguel '" + txtNome.Text + "','" + txtNomeLivro.Text + "'"
Dim cmdPesquisa As New SqlCommand(sqlPesquisa, cn)
cn.Open()
dr = cmdPesquisa.ExecuteReader
If dr.HasRows = False Then
MsgBox("Este aluno não está com este livro locado")
cn.Close()
dr.Close()
Exit Sub
End If
If dr.HasRows = True Then
Try
cn.Open()
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
txtIDlivro.Clear()
txtNomeLivro.Clear()
txtAutor.Clear()
txtEditora.Clear()
MskDataEntrega.Clear()
txtQtdDevolver.Clear()
MskDataEntrega.Clear()
mskRG.Clear()
txtNome.Clear()
txtAutor.Clear()
txtIDaluno.Clear()
txtDataAluguel.Clear()
Finally
cn.Close()
End Try
MsgBox("Livro devolvido com Sucesso")
End If
algm sabe onde está este erro? porque já n sei mais o que fazer ai :s
obrigado.
o erro é logo no cn.open depois do TRY
e se eu tiro a verificação do sqlPesquisa e tal, o codigo funciona normal
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.