AJUDA COM COUNT MYSQL
Pessoal estou usando essa funcao abaixo para contar o total de registros de uma tabela gostaria de contar agora...
Gostaria de pegar todos os comentarios que existem para o jogo tal...
TABELA
id
nomejogo
comentario
[Ô]_________________________________________________________________________________________________________[ô]
Funcao que estou usando para fazer o count total...funciona perfeitamente....
Public Function ContarJogosXbox360() As Integer
Try
Dim Retorno As Integer
Connectarxbox360()
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand([Ô] select count(*) as TotalRegistros from comentariosxbox360[Ô], myconexao)
reader = cmd.ExecuteReader
While reader.Read()
Retorno = reader([Ô]TotalRegistros[Ô])
xboxlista.quantidade.Text = Retorno
End While
reader.Close()
cmd.Dispose()
Desconnectarxbox360()
Return Retorno
Catch ex As Exception
errodeconexaocombd.Show()
End Try
End Function
Gostaria de pegar todos os comentarios que existem para o jogo tal...
TABELA
id
nomejogo
comentario
[Ô]_________________________________________________________________________________________________________[ô]
Funcao que estou usando para fazer o count total...funciona perfeitamente....
Public Function ContarJogosXbox360() As Integer
Try
Dim Retorno As Integer
Connectarxbox360()
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand([Ô] select count(*) as TotalRegistros from comentariosxbox360[Ô], myconexao)
reader = cmd.ExecuteReader
While reader.Read()
Retorno = reader([Ô]TotalRegistros[Ô])
xboxlista.quantidade.Text = Retorno
End While
reader.Close()
cmd.Dispose()
Desconnectarxbox360()
Return Retorno
Catch ex As Exception
errodeconexaocombd.Show()
End Try
End Function
[txt-color=#e80000]tentei mudando o select mais nao funciona[/txt-color]
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand([Ô] select count(*) as TotalRegistros from comentariosxbox360 Where nomejogo=[ô][Ô] & xboxlista.nomedojogo.Text & [Ô][Ô], myconexao)
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand([Ô] select count(*) as TotalRegistros from comentariosxbox360 Where nomejogo=[ô][Ô] & xboxlista.nomedojogo.Text & [Ô][Ô], myconexao)
ja tentou um cmd.ExecuteScalar, ou quem sabe descriminir pelo menos um campo nominalmente? sei lá, sou nvo na área ainda..
Public Sub GetComentarios(ByVal nomedojogo as string)
Try
Connectarxbox360()
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand([Ô] select Count(id), comentario from gamesdowloads where comentario = [ô][Ô] & nomedojogo & [Ô][ô][Ô], myconexao)
reader = cmd.ExecuteReader
While reader.Read()
[ô]pegue os dados aqui
End While
Catch ex As Exception
errodeconexaocombd.Show()
Finally
[ô]Tente fechar as coisas pelo finally, pois da forma que você fez, se der um erro lá em cima, o banco e o reader não irão fechar. Do jeito que coloquei, fecha dando erro ou não.
reader.Close()
cmd.Dispose()
Desconnectarxbox360()
End Try
End Function
Outra coisa, use o ExecuteScalar para consultas com o Count(). Como ele retorna apenas um valor, você poderá elimiar o reader. A consulta ficará bem mais rapida. ex: Retorno = convert.ToInt32(cmd.ExecuteScalar())
vlw
Try
Connectarxbox360()
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand([Ô] select Count(id), comentario from gamesdowloads where comentario = [ô][Ô] & nomedojogo & [Ô][ô][Ô], myconexao)
reader = cmd.ExecuteReader
While reader.Read()
[ô]pegue os dados aqui
End While
Catch ex As Exception
errodeconexaocombd.Show()
Finally
[ô]Tente fechar as coisas pelo finally, pois da forma que você fez, se der um erro lá em cima, o banco e o reader não irão fechar. Do jeito que coloquei, fecha dando erro ou não.
reader.Close()
cmd.Dispose()
Desconnectarxbox360()
End Try
End Function
Outra coisa, use o ExecuteScalar para consultas com o Count(). Como ele retorna apenas um valor, você poderá elimiar o reader. A consulta ficará bem mais rapida. ex: Retorno = convert.ToInt32(cmd.ExecuteScalar())
vlw
Tópico encerrado , respostas não são mais permitidas