Ir para conteúdo
Fórum Script Brasil

ri_nepo

Membros
  • Total de itens

    109
  • Registro em

  • Última visita

Posts postados por ri_nepo

  1. Galera ,

    eu fiz um dts que executa uma procedure , na hora de concatenar ele da o seguinte erro.

    Incorrect syntax near '+'.

    A parte final do código está assim que executa a procedure está abaixo ,

    ****************************************

    INSERT INTO TB_REPORT_ACUMULO

    (ORDEM,NIVEIS,PESSOAS,TRANSACOES,DOTZ,TKT__MEDIO_USUARIO,

    TKT_MEDIO_TRANSACAO)

    EXEC REPORT_ACUMULO '43540',@ANO + '/' + @mês + '/' + @DIA_INICIO ,@ANO + '/' + @mês + '/' + @DIA_FINAL

    ****************************************

    Quem quiser ver o código completo pode olhar o código abaixo

    DECLARE @DIA_INICIO CHAR(10)

    DECLARE @DIA_FINAL CHAR(10)

    DECLARE @mês CHAR(10)

    DECLARE @ANO CHAR(10)

    SET @DIA_INICIO = '1'

    SET @mês = MONTH(getdate()) - 1

    IF MONTH(GETDATE()) = '1'

    BEGIN

    SET @ANO = YEAR(getdate()) - 1

    END

    ELSE

    BEGIN

    SET @ANO = YEAR(getdate())

    END

    IF MONTH(GETDATE()) = '1' OR MONTH(GETDATE()) = '2' OR MONTH(GETDATE()) = '4' OR

    MONTH(GETDATE()) = '6' OR MONTH(GETDATE()) = '8' OR MONTH(GETDATE()) = '9' OR

    MONTH(GETDATE()) = '11'

    BEGIN

    SET @DIA_FINAL = '31'

    END

    ELSE IF MONTH(GETDATE()) = '3'

    BEGIN

    SET @DIA_FINAL = '28'

    END

    ELSE

    BEGIN

    SET @DIA_FINAL = '30'

    END

    INSERT INTO TB_REPORT_ACUMULO

    (ORDEM,NIVEIS,PESSOAS,TRANSACOES,DOTZ,TKT__MEDIO_USUARIO,

    TKT_MEDIO_TRANSACAO)

    EXEC REPORT_ACUMULO '43540',@ANO + '/' + @mês + '/' + @DIA_INICIO ,@ANO + '/' + @mês + '/' + @DIA_FINAL

    *****************************************************

    quem puder ajudar eu agradeço

    valeu

    Ricardo

  2. Olá Galera,

    Meu provedor informou ter criado uma conexão dsn para conexão ao banco sql via site , mas quando tento acessar da o seguinte erro

    Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'

    [Microsoft][ODBC SQL Server Driver][sql Server]Falha de logon do usuário ''. O usuário não está associado a uma conexão confiável com o SQL Server.

    /teste_conexao.asp, line 3

    o código está assim

    <%

    set conexao=server.createobject("adodb.connection")

    conexao.open "TESTE"

    %>

    Quem puder ajudar eu agradeço

    abraços

    Ricardo

  3. Boa tarde Galera,

    Criei uma procedure que faz um insert no banco de dados e quero que traga um retorno dizendo se foi cadastrado ou se o email já existe.

    Procedure

    CREATE PROCEDURE SP_INSERE_RESERVA1

    (

    @nome varchar(100),

    @email varchar(100),

    @mensagem VARCHAR(254) OUTPUT

    )

    AS

    IF EXISTS(SELECT EMAIL FROM reserva where email = @email)

    BEGIN

    SET @mensagem = 'Usuário já existe!!'

    RETURN

    END

    ELSE

    BEGIN

    INSERT INTO reserva (nome,email) VALUES (@nome,@email)

    SET @mensagem = 'OK Usuário inserido com sucesso!'

    END

    GO

    O asp está assim

    varNome = Request.Form("frmNome")

    varEmail = Request.Form("frmEmail")

    sql="exec SP_INSERE_RESERVA1 @nome = '"& varNome &"',@email = '"& varEmail &"'"

    conexao.execute(sql)

    Response.Write @mensagem

    A página da o seguinte erro

    Microsoft OLE DB Provider for SQL Server erro '80040e10'

    Procedure 'SP_INSERE_RESERVA1' expects parameter '@mensagem', which was not supplied.

    /nepo/insere_procedure1.asp, line 12

    Quem puder ajudar eu agradeço

    Atenciosamente

    Ricardo

  4. Não rolou , na realidade seria assim

    a procedure envia uma variavel @MSN

    ****************************************************************

    CREATE PROCEDURE SP_INSERE_RESERVA

    (

    @nome varchar(100),

    @email varchar(100),

    @MSN varchar(100) output

    )

    as

    IF EXISTS(SELECT EMAIL FROM reserva where email = @email)

    BEGIN

    SET @MSG = 'ER Usuário já existe!!'

    RETURN

    END

    ELSE

    BEGIN

    INSERT INTO reserva (nome,email) VALUES (@nome,@email)

    SET @MSG = 'ER Cadastro efetuado com sucesso!!'

    END

    GO

    ****************************************************************

    Só que no asp não está pegando , eu queria alguma dica

    abraços

    Ricardo

  5. Valeu mano ,

    era isso mesmo , falha minha , valeu

    Como eu faço na procedure para passar o valor de resposta para página

    No lugar do print eu printo na propria página

    ex:

    IF EXISTS(SELECT EMAIL FROM reserva where email = @email)

    BEGIN

    Print 'Já existe um cadastro com este nome'

    RETURN

    END

    ELSE

    BEGIN

    INSERT INTO reserva (nome,email) VALUES (@nome,@email)

    Print 'Cadastro efetuado com sucesso'

    END

  6. Boa tarde Galera,

    Criei uma procedure e quando mando executar no asp ele não da erro mas também não executa

    O código está assim

    **************************************************

    set conexao=server.createobject("adodb.connection")conexao.open "Provider=SQLOLEDB.1;SERVER=server;DATABASE=base;UID=usuario;PWD=senha;"

    varNome = Request.Form("frmNome")

    varEmail = Request.Form("frmEmail")

    Set cmdatualiza = Server.CreateObject("ADODB.Command")

    Set cmdatualiza.ActiveConnection = Conexao

    cmdatualiza.CommandText = "SP_INSERE_RESERVA"

    cmdatualiza.CommandType = 4

    cmdatualiza.ParameteRs.Refresh

    cmdatualiza.ParameteRs("@nome") = varNome

    cmdatualiza.ParameteRs("@email") = varEmail

    cmdatualiza.Execute

    Set cmdatualiza=nothing

    **************************************************

    A procedure está assim

    *****************************************************

    CREATE PROCEDURE SP_INSERE_RESERVA

    (

    @nome varchar(100),

    @email varchar(100)

    )

    as

    IF EXISTS(SELECT EMAIL FROM reserva)

    BEGIN

    Print 'Já existe um cadastro com este nome'

    RETURN

    END

    ELSE

    BEGIN

    INSERT INTO reserva (nome,email) VALUES (@nome,@email)

    Print 'Cadastro efetuado com sucesso'

    END

    GO

    *******************************************************************

    Quem puder ajudar eu agradeço

    abraços

  7. Bom dia galera,

    é o seguinte estou começando a mexer com ajax agora e estou tentando fazer com que um select preencha outro conforme o estado selecionado

    ex : eu tenho um select de estado , conforme seleciono o estado , ele me traz a cidade , na página ele traz o resultado , mas quando tento colocar dentro de um select dá erro.

    Segue o código abaixo :

    <!--#include file="../conexao.asp"-->

    <%

    SQL_estado = "SELECT * FROM tb_estado order by estado"

    Set RS_Estado = Conexao.Execute(SQL_estado)

    %>

    <html>

    <head>

    <title></title>

    <script>

    function teste(valor) {

    try {

    XMLHttp=new XMLHttpRequest();

    }

    catch(ee) {

    try {

    XMLHttp=new ActiveXObject("Msxml2.XMLHTTP");

    }

    catch(e) {

    try {

    XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    catch(E) {

    XMLHttp=false;

    }

    }

    }

    XMLHttp.onreadystatechange=exibir;

    XMLHttp.open("GET", "teste_print.asp?id="+valor,true);

    XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    XMLHttp.send(null);

    function exibir() {

    if (XMLHttp.readyState == 4) {

    if (XMLHttp.status == 200) {

    //Receberemos um XML com a Lista de Produtos...

    varxmldoc = XMLHttp.responseXML;

    if(xmldoc.hasChildNodes()) {

    var nos = xmldoc.getElementsByTagName('cidades');

    var categoria = document.BUSCA.categoria.value;

    var selp = document.BUSCA.produtos;

    selp.options.length = 0;

    var opt = new Option('Selecione o produto desejado','-1');

    selp.add(opt);

    for(var i=0;i<nos.length;i++) {

    var no = nos;

    var cod = no.childNodes[0].firstChild.nodeValue;

    var des = no.childNodes[1].firstChild.nodeValue;

    var opt = new Option(cod,des);

    selp.add(opt);

    }

    }

    } else {

    alert ('Erro no retorno do servidor' + XMLHttp.statusText);

    }

    }

    }

    </script>

    </head>

    <body>

    <p>

    <form name="BUSCA">

    <select name="categoria" onChange="teste(this.value);">

    <option>--</option>

    <%while not RS_Estado.eof%>

    <option value="<%=RS_Estado("id_estado")%>"><%=RS_Estado("estado")%></option>

    <%

    RS_Estado.movenext

    wend

    %>

    </select>

    <select name="produtos">

    </select>

    </form>

    </p>

    </body>

    </html>

    O erro que ele diz é sobre um } na linha 56 que é a linha onde está aqui

    alert ('Erro no retorno do servidor' + XMLHttp.statusText);

    Quem puder ajudar ou tiver algum exemplo pronto eu agradeço

    abraços

    Ricardo

  8. Bom dia galera,

    é o seguinte estou começando a mexer com ajax agora e estou tentando fazer com que um select preencha outro conforme o estado selecionado

    ex : eu tenho um select de estado , conforme seleciono o estado , ele me traz a cidade , na página ele traz o resultado , mas quando tento colocar dentro de um select dá erro.

    Segue o código abaixo :

    <!--#include file="../conexao.asp"-->

    <%

    SQL_estado = "SELECT * FROM tb_estado order by estado"

    Set RS_Estado = Conexao.Execute(SQL_estado)

    %>

    <html>

    <head>

    <title></title>

    <script>

    function teste(valor) {

    try {

    XMLHttp=new XMLHttpRequest();

    }

    catch(ee) {

    try {

    XMLHttp=new ActiveXObject("Msxml2.XMLHTTP");

    }

    catch(e) {

    try {

    XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    catch(E) {

    XMLHttp=false;

    }

    }

    }

    XMLHttp.onreadystatechange=exibir;

    XMLHttp.open("GET", "teste_print.asp?id="+valor,true);

    XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    XMLHttp.send(null);

    function exibir() {

    if (XMLHttp.readyState == 4) {

    if (XMLHttp.status == 200) {

    //Receberemos um XML com a Lista de Produtos...

    varxmldoc = XMLHttp.responseXML;

    if(xmldoc.hasChildNodes()) {

    var nos = xmldoc.getElementsByTagName('cidades');

    var categoria = document.BUSCA.categoria.value;

    var selp = document.BUSCA.produtos;

    selp.options.length = 0;

    var opt = new Option('Selecione o produto desejado','-1');

    selp.add(opt);

    for(var i=0;i<nos.length;i++) {

    var no = nos;

    var cod = no.childNodes[0].firstChild.nodeValue;

    var des = no.childNodes[1].firstChild.nodeValue;

    var opt = new Option(cod,des);

    selp.add(opt);

    }

    }

    } else {

    alert ('Erro no retorno do servidor' + XMLHttp.statusText);

    }

    }

    }

    </script>

    </head>

    <body>

    <p>

    <form name="BUSCA">

    <select name="categoria" onChange="teste(this.value);">

    <option>--</option>

    <%while not RS_Estado.eof%>

    <option value="<%=RS_Estado("id_estado")%>"><%=RS_Estado("estado")%></option>

    <%

    RS_Estado.movenext

    wend

    %>

    </select>

    <select name="produtos">

    </select>

    </form>

    </p>

    </body>

    </html>

    O erro que ele diz é sobre um } na linha 56 que é a linha onde está aqui

    alert ('Erro no retorno do servidor' + XMLHttp.statusText);

    Quem puder ajudar ou tiver algum exemplo pronto eu agradeço

    abraços

    Ricardo

  9. Olá , obrigado pela atenção

    infelizmente não funcionou ,

    o problema está aqui

    while not RS_sexo.eof

    stuff = Array(RS_sexo("quantidade_sexo"))

    labelstuff = Array(RS_sexo("tb10_sexo"))

    Response.Write makechart(titulo, stuff, labelstuff, imagem, altura, largura, valores)

    RS_sexo.movenext

    wend

    Eu teria que achar uma forma dos registros ficarem juntos pois da forma que estar ele monta um grafico diferente para cada registro

    Se for manual funciona

    stuff = Array(100,50,20

    labelstuff = Array("Valor1","Valor2","Valor3")

    Response.Write makechart(titulo, stuff, labelstuff, imagem, altura, largura, valores)

    Quem puder ajudar eu agradeço

    valeu

    Ricardo

  10. Olá galera,

    Estou montando um script que gera um grafico simples , eu preciso que ele aparecesse assim na mesma tabela e um ao lado do outro , só que está aparecendo um embaixo do outro

    vejam no link abaixo

    http://www.hth.com.br/extranet/grafico.asp

    Veja o script

    <!--#include file="include/conexao.asp"-->

    <%

    'abre a conexão

    Set Conexao = Connect()

    'DEMOGRAFIA

    SQL_sexo = "SELECT COUNT(tb10_sexo) as quantidade_sexo,tb10_sexo FROM tb10_lifeClub group by tb10_sexo order by quantidade_sexo desc"

    SET RS_sexo = conexao.execute(SQL_sexo)

    '****CONFIGURAÇÔES**********

    ' esta parte você coloca onde realmente deseja que o gráfico apareça em seu site...

    dim stuff , labelstuff , titulo, imagem, altura, largura, valores

    titulo = "Sexo" 'Define o nome do grafico

    imagem = "imagens/barramidle.gif" 'Imagem que o grafico ira usar para montar as barras, pode ser uma imagem de 1x1

    altura = 100 'Altura maxima do grafico

    largura = 10 'Largura maxima do grafico

    valores = "True" 'Se verdadeiro apresenta os valores

    while not RS_sexo.eof

    stuff = Array(RS_sexo("quantidade_sexo")) 'Aqui você deve passar os valores que o grafico ira apresentar

    labelstuff = Array(RS_sexo("tb10_sexo")) 'Aqui você deve passar uma legenda para os valores passados na linha acima, deve ter a mesma quantidade

    Response.Write makechart(titulo, stuff, labelstuff, imagem, altura, largura, valores) 'Chama a função e passa os valores que você passou como parametro

    RS_sexo.movenext

    wend

    '****FIM CONFIGURAÇÔES**********

    %>

    <%

    '**NÃO É OBRIGATORIO A MUDANÇA DE NENHUMA LINHA A PARTIR DESTE PONTO**

    Function makechart(title, numarray, labelarray, imagename, maxheight, maxwidth, addvalues)

    dim tablestring

    dim max

    dim tempnumarray

    dim templabelarray

    dim heightarray

    dim tempnum

    if maxheight > 0 and maxwidth > 0 and ubound(labelarray) = ubound(numarray) then

    templabelarray = labelarray

    tempnumarray = numarray

    heightarray = array()

    max = 0

    maxlength = 0

    tablestring = "<TABLE border='1' bordercolor='#000000'>" & vbCrLf

    for each stuff in tempnumarray

    if stuff > max then max = stuff end if

    next

    tempnum = maxheight/max

    for counter = 0 to ubound(tempnumarray)

    if tempnumarray(counter) = max then

    redim preserve heightarray(counter)

    heightarray(counter) = maxheight

    else

    redim preserve heightarray(counter)

    heightarray(counter) = tempnumarray(counter) * tempnum

    end if

    next

    tablestring = tablestring & "<TR bgcolor='#CCCCFF'><TH colspan='" & ubound(tempnumarray)+1 & "'>" & title & "</TH></TR>" & _

    vbCrLf & "<TR bordercolor='#FFFFFF'>" & vbCrLf

    for counter = 0 to ubound(tempnumarray)

    tablestring = tablestring & vbTab & "<TD valign='bottom' align='center'><img src='" & imagename & "' width='" & maxwidth & "' height='" & _

    heightarray(counter) & "'>"

    if addvalues then

    tablestring = tablestring & "<BR>" & tempnumarray(counter)

    end if

    tablestring = tablestring & "</TD>" & vbCrLf

    next

    tablestring = tablestring & "</TR>" & vbCrLf

    for each stuff in labelarray

    tablestring = tablestring & vbTab & "<TD align='center' bordercolor='#FFFFFF'><B> " & stuff & " </TD>" & vbCrLf

    next

    tablestring = tablestring & "</TABLE>" & vbCrLf

    makechart = tablestring

    else

    Response.Write "Erro! A altura e a largura devem ser maiores que zero (0), ou o número de títulos não é igual ao número de valores passados..."

    end if

    end function

    %>

    Quem puder ajudar eu agradeço

    abraços

    Ricardo

  11. Olá Galera,

    Preciso enviar a informação de um valor para outra página pelo link

    No asp eu fazia assim <a href="noticias1.asp?id=<%=rs("id_noticias")"><rs("titulo")%></a>

    Mas no asp.net não estou conseguindo , eu fiz assim

    Dim strSQL as String = "Select top 10 id,data,titulo from noticias order by id desc"

    Dim strResultado as string

    Dim varID as integer

    Dim objcommand as New OledbCommand(strSQL, objConnection)

    Dim objDataReader as OledbDataReader

    objdatareader = objcommand.executereader()

    Do while objdatareader.read() = True

    strresultado += objdatareader("Data")

    strresultado +="&nbsp;&nbsp;"

    varID += objdatareader("id")

    strresultado += objdatareader("Titulo")

    strresultado +="<br>"

    Loop

    objdatareader.close()

    noticias.text = strresultado

    Ai o link eu fiz assim

    <form runat="server">

    <asp:LinkButton id="noticias" runat="server" text="noticias" onClick="btnnoticias">

    </asp:LinkButton>

    </form>

    Quando eu passo o mouse por cima do link aparece assim

    java script:__doPostBack('noticias','')

    na função do botão eu fiz assim

    Public Sub btnnoticias(sender as object , e as eventargs)

    Response.Redirect ("noticias1.asp")

    End Sub

    Mas não consigo passar os dados para outra página , quem puder ajudar eu agradeço

    abraços

    Ricardo

  12. Graymalkin,

    Referente ao esquema da imagem eu consegui resolver , só quero agora saber o esquema do link e mais outra informação

    sobre o link eu preciso que seja dinamico ex noticias1.asp?id=8888 onde 8888 é o id da noticias

    eu fiz assim e não retornou nada

    Dim strSQL as String = "Select top 10 id,data,titulo from noticias order by id desc"

    Dim strResultado as string

    Dim varID as integer

    Dim objcommand as New OledbCommand(strSQL, objConnection)

    Dim objDataReader as OledbDataReader

    objdatareader = objcommand.executereader()

    Do while objdatareader.read() = True

    strresultado += objdatareader("Data")

    strresultado +="&nbsp;&nbsp;"

    strresultado += "<a href=noticias1.asp?ID="

    varID = objdatareader("id")

    strresultado += ">"

    strresultado += objdatareader("Titulo")

    strresultado += "</a>"

    strresultado +="<br>"

    Loop

    objdatareader.close()

    noticias.innerhtml = strresultado

    Outra coisa , como eu faço para armazenar os dados de conexão no web.config de forma que eu possa pegar em qualquer página que fizer conexão ao banco de dados

    Abraços

    Ricardo

  13. Entendi mano , isso eu já consegui resolver

    eu queria saber agora como eu faço para que o resultado trazido do banco fosse um link e como eu faço para exibir na tela juntamente com uma variavel , por exemplo no asp eu faria assim

    <a href="teste.asp?id=<%=rs("id")%>">texto</a>

    E tambem trazer uma imagem , no asp eu faria assim

    <img src="imagens/<%=rs("imagem")%>">

    eu estou fazendo assim

    Dim str_convidado as String = "select imagem_colunista,texto_inicial from convidado_especial order by id desc"

    Dim convidado_resultado as string

    Dim objcommand3 as New OledbCommand(str_convidado, objConnection)

    Dim objDataReader3 as OledbDataReader

    Dim var_convidado_resultado_titulo as string

    objdatareader3 = objcommand3.executereader()

    Do while objdatareader3.read() = True

    var_convidado_resultado_titulo = objdatareader3("texto_inicial")

    Loop

    objdatareader3.close()

    convidado_titulo_tela.innerhtml = var_convidado_resultado_titulo

    abraços

    Ricardo

  14. é verdade , após adicionar nomes diferentes passou a funcionar , ai eu fiz o seguinte , eu quero que um resultado venha dentro do datagrid e outro dentro de um label normal , ai eu fiz assim

    só que ai começou a aparecer o seguinte erro

    BC30456: 'DataSource' is not a member of 'System.Web.UI.WebControls.Label'.

    quem puder ajudar eu agradeço

    abraços

    Ricardo

  15. Olá Galera , estou fazendo a consulta de 2 tabelas no banco para exibir na tela , mas só esta trazendo a segunda de uma olhada no código

    <%@ Page Language="VB" Debug="true"%>

    <%@ import namespace="system.data"%>

    <%@ import namespace="system.data.oledb"%>

    <%@ import namespace="system.data.sqlclient"%>

    <script runat="server">

    Sub Page_Load(sender as object, e as eventargs)

    Dim strConnection As String

    Dim strsql As String

    Dim strsql1 As String

    Dim objDataset As New DataSet()

    Dim objConnection As sqlconnection

    Dim objAdapter As sqldataAdapter

    strconnection = "server=server;database=nomebase;uid=usuario;Password=senha;"

    strsql = "SELECT top 10 data,titulo from noticias ORDER by id desc;"

    strsql1 = "SELECT titulo from manchete ORDER by id desc;"

    objconnection = new sqlconnection(strconnection)

    objAdapter = new sqldataAdapter(strsql,objconnection)

    objAdapter = new sqldataAdapter(strsql1,objconnection)

    objAdapter.Fill(objdataset,"noticias")

    objAdapter.Fill(objdataset,"manchete")

    dgnoticias.DataSource = objDataSet.Tables("noticias").DefaultView

    dgmanchete.DataSource = objDataSet.Tables("manchete").DefaultView

    dgnoticias.DataBind()

    dgmanchete.DataBind()

    End Sub

    </script>

    <html>

    <head>

    </head>

    <body>

    <table border="1">

    <tr>

    <td>Noticias</td>

    <td>Manchete</td>

    </tr>

    <tr>

    <td><asp:datagrid id="dgnoticias" runat="server" font-name="tahoma" font-size="9pt" cellpading="3" /></td>

    <td><asp:datagrid id="dgmanchete" runat="server" font-name="tahoma" font-size="9pt" cellpading="3" /></td>

    </tr>

    </table>

    </body>

    </html>

    Quem puder ajudar eu agradeço

    abraços

    Ricardo

  16. Olá galera , estou usando o foreach para pegar o valor do formulario mas está dando erro veja o código

    <form name="form1" method="post" action="foreach.asp">

    <input name="campo1" type="text">

    <input name="campo2" type="text">

    <input name="campo3" type="text">

    <input name="campo4" type="text">

    <input type="submit" value="Enviar">

    </form>

    <%

    For Each Item in Request.Form()

    Response.Write Item.Name & "= " & Item.Value & "<BR>"

    Next

    %>

    Está aparecendo o seguinte erro

    Microsoft VBScript runtime error '800a01a8'

    Object required: 'Item'

    /foreach.asp, line 4

    Quem puder ajudar eu agradeço ,

    valeu

  17. O val não funcionou

    como eu faria no exemplo que você passou , assim ?

    (RTRIM(CAST(SUM((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

    * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

    / 60 AS CHAR(2))))

    + ':' + REVERSE(SUBSTRING(REVERSE('0' + RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

    * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

    % 60 AS CHAR(2)))), 1, 2)))

  18. É verdade isso realmente está acontecendo , mas como eu deveria fazer para ele dar um sum somente nos valores númericos

    veja por favor a query abaixo

    SUM(RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

                          * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

                          / 60 AS CHAR(2))))

                          + ':' + REVERSE(SUBSTRING(REVERSE('0' + RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

                          * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

                          % 60 AS CHAR(2)))), 1, 2))

  19. Olá Galera,

    quando eu uso essa query funciona

    SELECT    TOP 100 PERCENT dbo.TBL_QUIZ_USUARIO.RE_USUARIO, dbo.TBL_QUIZ_USUARIO.NOME_USUARIO, dbo.TBL_QUIZ_USER.NUM_TOTAL_SCORE,

                          RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

                          * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

                          / 60 AS CHAR(2)))

                          + ':' + REVERSE(SUBSTRING(REVERSE('0' + RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

                          * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

                          % 60 AS CHAR(2)))), 1, 2)) AS TEMPO, dbo.TBL_QUIZ_USER.DAT_INSERT

    FROM        dbo.TBL_QUIZ_USER INNER JOIN

                          dbo.TBL_QUIZ_USUARIO ON dbo.TBL_QUIZ_USER.ID_USER = dbo.TBL_QUIZ_USUARIO.ID_USUARIO

    GROUP BY dbo.TBL_QUIZ_USUARIO.RE_USUARIO, dbo.TBL_QUIZ_USUARIO.NOME_USUARIO, dbo.TBL_QUIZ_USER.NUM_TOTAL_SCORE,

                          dbo.TBL_QUIZ_USER.NUM_MINUTES_1, dbo.TBL_QUIZ_USER.NUM_MINUTES_2, dbo.TBL_QUIZ_USER.NUM_MINUTES_3,

                          dbo.TBL_QUIZ_USER.NUM_SECONDS_1, dbo.TBL_QUIZ_USER.NUM_SECONDS_2, dbo.TBL_QUIZ_USER.NUM_SECONDS_3,

                          dbo.TBL_QUIZ_USER.DAT_INSERT

    ORDER BY dbo.TBL_QUIZ_USER.NUM_TOTAL_SCORE DESC, TEMPO, dbo.TBL_QUIZ_USER.DAT_INSERT

    Mas ai eu preciso que seja feito a soma das horas , ai eu usei o sum e deu o seguinte erro

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

    veja a string como ficou

    SELECT    TOP 100 PERCENT dbo.TBL_QUIZ_USUARIO.RE_USUARIO, dbo.TBL_QUIZ_USUARIO.NOME_USUARIO, dbo.TBL_QUIZ_USER.NUM_TOTAL_SCORE,

                          SUM(RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

                          * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

                          / 60 AS CHAR(2))))

                          + ':' + REVERSE(SUBSTRING(REVERSE('0' + RTRIM(CAST(((dbo.TBL_QUIZ_USER.NUM_MINUTES_1 + dbo.TBL_QUIZ_USER.NUM_MINUTES_2 + dbo.TBL_QUIZ_USER.NUM_MINUTES_3)

                          * 60 + dbo.TBL_QUIZ_USER.NUM_SECONDS_1 + dbo.TBL_QUIZ_USER.NUM_SECONDS_2 + dbo.TBL_QUIZ_USER.NUM_SECONDS_3)

                          % 60 AS CHAR(2)))), 1, 2)) AS TEMPO, dbo.TBL_QUIZ_USER.DAT_INSERT

    FROM        dbo.TBL_QUIZ_USER INNER JOIN

                          dbo.TBL_QUIZ_USUARIO ON dbo.TBL_QUIZ_USER.ID_USER = dbo.TBL_QUIZ_USUARIO.ID_USUARIO

    GROUP BY dbo.TBL_QUIZ_USUARIO.RE_USUARIO, dbo.TBL_QUIZ_USUARIO.NOME_USUARIO, dbo.TBL_QUIZ_USER.NUM_TOTAL_SCORE,

                          dbo.TBL_QUIZ_USER.NUM_MINUTES_1, dbo.TBL_QUIZ_USER.NUM_MINUTES_2, dbo.TBL_QUIZ_USER.NUM_MINUTES_3,

                          dbo.TBL_QUIZ_USER.NUM_SECONDS_1, dbo.TBL_QUIZ_USER.NUM_SECONDS_2, dbo.TBL_QUIZ_USER.NUM_SECONDS_3,

                          dbo.TBL_QUIZ_USER.DAT_INSERT

    ORDER BY dbo.TBL_QUIZ_USER.NUM_TOTAL_SCORE DESC, TEMPO, dbo.TBL_QUIZ_USER.DAT_INSERT

    quem puder ajudar eu agredeço

    abraços

    Ricardo

×
×
  • Criar Novo...