Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Soma de valores de um banco de dados SQL

Recommended Posts

Olá galera, tenho uma tabela de pedidos onde armazeno o valor de cada produto por exemplo 100,00, 10,00, 75,28, 147,21 etc,, tenho que montar uma página que atraves de um id de compra eu liste todos os itens que uma pessoa comprou e o valor total porém não esta rolando, esta sendo exibido o erro abaixo:

 

Tipo de erro:

Microsoft OLE DB Provider for SQL Server (0x80040E07)

The sum or average aggregate operation cannot take a nvarchar data type as an argument.

/clubedocupido.com.br/status_carrinho.asp, line 83

 

 

Na linha indicada tem:

 

rs.Open "SELECT SUM(valor) as valortotal from TB_Pedidos WHERE id_compra ='" & Session("id_compra") & "' ", ConexaoSQL

 

Vejam o script:

 

<%Set rs = Server.CreateObject("AdoDB.Recordset")rs.Open "SELECT SUM(valor) as valortotal from TB_Pedidos WHERE id_compra ='" & Session("id_compra") & "' ", ConexaoSQLwhile not rs.EOFvalortotal = RS("valortotal")rs.movenextwendrs.closeset rs = nothingConexaoSQL.CloseSet ConexaoSQL = Nothingresponse.write valortotal%>

O tipo de campo no SQL é nvarchar, parece que é o tipo de campo que precisa ser mudado, não sei ao certo...

 

Alguém sabe me dizer onde estou errando ?

 

WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

The sum or average aggregate operation cannot take a nvarchar data type as an argument.

/clubedocupido.com.br/status_carrinho.asp, line 83

 

você precisa mudar o seu tipo de campo para numerico pq você esta usando uma função de agregação....sempre que você usar umas destas funções tera que ser numerico....

 

--AVG	  preço médio--Count	Valor inteiro--Max	  Valor Maximo--Min	  Valor Minimo--Sum	  Valor total da coluna

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá kaplan, tentei mudar o tipo de dados para numerico no SQL porém ele não deixa pelo fato de ja existirem valores como 110,00 ou 147,47;.Agpra pelo que percebi estando numerico ele grava 100,00 sp,p 100 e 100,25 como 10025.. não entendi ao certo como funciona... Tenho que converter na hora de gravar / transformar os dados ?WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

é você tera que transformar os dados

pq quando é numerico tem que ficar gravando assim: 147.47

você tera que trocar a virgula por ponto beleza...... http://forum.imasters.com.br/public/style_emoticons/default/devil.gif

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.