AJUDA COM COUNT MYSQL

KURTGU 21/08/2012 12:35:52
#408272
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
KURTGU 21/08/2012 12:39:31
#408274
[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)

ONBASS 21/08/2012 12:44:25
#408275
Resposta escolhida
ja tentou um cmd.ExecuteScalar, ou quem sabe descriminir pelo menos um campo nominalmente? sei lá, sou nvo na área ainda..
JABA 21/08/2012 12:58:09
#408277
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
Tópico encerrado , respostas não são mais permitidas