TOTAL DE REGISTRO , QUAL MELHOR MANEIRA
Ola Pessoal Biom dia tenho a seguinte query = select data_compra,idPedido,nome,TipoPagamento,NumeroDocumento from Pedido_site where Importado=0 and Int_Pagamento=1 order by Data_Compra desc
queria saber qual a melhor opção sem usar count(*) para saber a a quantidade de registro estou usando sqlDataReader dr = null; para armazenar as informação
Obrigado
Joao
queria saber qual a melhor opção sem usar count(*) para saber a a quantidade de registro estou usando sqlDataReader dr = null; para armazenar as informação
Obrigado
Joao
se a intenção é apenas o total de registros, conte sua chave primária e use um group by nela:
SELECT COUNT(*) AS Total from Pedido_site where Importado=0 and Int_Pagamento=1 group by SuaChavePrimaria
SELECT COUNT(*) AS Total from Pedido_site where Importado=0 and Int_Pagamento=1 group by SuaChavePrimaria
este é o problema nao queria usar o cont(*) pois minha query é grande
Qual banco utiliza?
Independente do banco, você pode criar uma View nele e na aplicação fazer a contagem com um SQL mais curto
Independente do banco, você pode criar uma View nele e na aplicação fazer a contagem com um SQL mais curto
Olhe isto.
http://www.macoratti.net/vbn_drc.htm.
http://www.macoratti.net/vbn_drc.htm.
Se você estivesse usando um DataSet ou um DataTable seria mais fácil pois existe a propriedade Count().
Mas se é um DataReader, creio que a única forma, seria você fazer duas querys:
uma para retornar somente a quantidade de registros, sendo que você precisaria percorrer o DataReader e somando +1 em um contador;
e outra query com todos os dados que você precisa que retornem.
Mas se é um DataReader, creio que a única forma, seria você fazer duas querys:
uma para retornar somente a quantidade de registros, sendo que você precisaria percorrer o DataReader e somando +1 em um contador;
e outra query com todos os dados que você precisa que retornem.
Creio que você está fazendo uma confusão com o uso do asterisco (*) na função Count. Veja o link https://msdn.microsoft.com/pt-br/library/ms175997%28v=sql.120%29.aspx.
No caso do Count, o asterisco indica que nenhuma linha ficará de fora da contagem o que garante a contagem correta dos dados em tabelas que possam ter valores duplicados ou nulos. Veja a explicação detalhada no link. Diferente do Select onde ele seleciona todas as colunas. Veja que no caso do Count ele é utilizado para linhas (que são os registros). Percebeu a diferença?
No caso do Count, o asterisco indica que nenhuma linha ficará de fora da contagem o que garante a contagem correta dos dados em tabelas que possam ter valores duplicados ou nulos. Veja a explicação detalhada no link. Diferente do Select onde ele seleciona todas as colunas. Veja que no caso do Count ele é utilizado para linhas (que são os registros). Percebeu a diferença?
Tópico encerrado , respostas não são mais permitidas