none
concatenar com Group By RRS feed

  • Pergunta

  • Server Error in '/' Application.

    Nenhum valor foi fornecido para um ou mais parâmetros necessários.

    A mensagem acima vem com a aplicação do código abaixo. Preciso com o Select retornar com o dia do mes e a semana(1 Seg, 2 Ter, etc):

    Dim Dadapter98 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter98.SelectCommand = New OleDbCommand("SELECT A.CodDia + ' ' + A.SiglaSemana as DiaSem,A.CodDia,A.SiglaSemana,A.CodMes,B.codMes, count(A.CodDia) AS 'Count' FROM tbAgendaCalendario A, tbAgendaMes B WHERE A.CodMes = B.codMes GROUP BY DiaSem,A.CodDia,A.SiglaSemana,A.CodMes,B.codMes", New OleDbConnection(My.Settings.SIConecte))
            Dadapter98.Fill(DSet, "TBAgendaDia")


    • Editado Wilson Boris terça-feira, 10 de julho de 2012 06:00 erro digitaçao
    terça-feira, 10 de julho de 2012 05:47

Todas as Respostas

  • Server Error in '/' Application.

    Nenhum valor foi fornecido para um ou mais parâmetros necessários.

    A mensagem acima vem com a aplicação do código abaixo. Preciso com o Select retornar com o dia do mes e a semana(1 Seg, 2 Ter, etc). Al'guém tem alguma sugestão?

    Dim Dadapter98 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter98.SelectCommand = New OleDbCommand("SELECT A.CodDia + ' ' + A.SiglaSemana as DiaSem,A.CodDia,A.SiglaSemana,A.CodMes,B.codMes, count(A.CodDia) AS 'Count' FROM tbAgendaCalendario A, tbAgendaMes B WHERE A.CodMes = B.codMes GROUP BY DiaSem,A.CodDia,A.SiglaSemana,A.CodMes,B.codMes", New OleDbConnection(My.Settings.SIConecte))
            Dadapter98.Fill(DSet, "TBAgendaDia")


    terça-feira, 10 de julho de 2012 05:48
  • Amigo, sua consulta funciona normalmente no sql server ? debugando sau aplicação ele da erro nesta linha ? é retornado algum inner exception? 

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    terça-feira, 10 de julho de 2012 12:14
    Moderador
  • Ao debugar o erro ocorre na linha: " Dadapter98.Fill(DSet, "TBAgendaDia")".

    Stack Trace:


    [OleDbException (0x80040e10): Nenhum valor foi fornecido para um ou mais parâmetros necessários.]
       System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1081420
       System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +247
       System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +194
       System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +58
       System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +167
       System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +116
       System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +4
       System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +144
       System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319
       System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
       VO.HOME.cargaDset() in C:\Users\B\documents\visual studio 2010\Projects\Vo\V\H.aspx.vb:278
       VO.HOME.Page_Load(Object sender, EventArgs e) in C:\Users\B\documents\visual studio 2010\Projects\VO\V\HOME.aspx.vb:13
       System.Web.UI.Control.OnLoad(EventArgs e) +91
       System.Web.UI.Control.LoadRecursive() +74
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

    Quanto ao sql server não sei, pois para esta aplicação uso o Access.

    Complementando o código para retornar apenas o mes selecionado no rblMes1(RadiobuttonList):

     Protected Sub rblAnoUsu_SelectedIndexChanged(sender As Object, e As EventArgs) Handles rblAnoUsu.SelectedIndexChanged
            If IsPostBack Then
                rblMes1.Items.Clear()
                retDATASET.ReadXml(Server.MapPath("output.xml"))
                Dim ItemDataView As New DataView(retDATASET.Tables("TBAgendaMes"))
                ItemDataView.RowFilter = "CodAno = " & rblAnoUsu.SelectedItem.Value
                rblMes1.DataSource = ItemDataView
                rblMes1.DataTextField = ("siglaDescricao")
                rblMes1.DataValueField = ("CodMes")
                rblMes1.DataBind()
            End If
        End Sub
    
        Protected Sub rblMes1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles rblMes1.SelectedIndexChanged
            If IsPostBack Then
                retDATASET.ReadXml(Server.MapPath("output.xml"))
                Dim ItemDataView As New DataView(retDATASET.Tables("TBAgendaDia"))
                ItemDataView.RowFilter = "CodMes = " & rblMes1.SelectedItem.Value
                rblDiaUsu.DataSource = ItemDataView
                rblDiaUsu.DataTextField = ("DiaSem")
                rblDiaUsu.DataBind()
            End If
        End Sub


    • Editado Wilson Boris terça-feira, 10 de julho de 2012 13:18 complemento
    terça-feira, 10 de julho de 2012 12:59
  • Resolvido o Select com o código abaixo, mas o retorno não foi o desejado com o GROUP BY, pois traz a soma dos dias da semana conforme abaixo:

    1 Dom 1 Qua 1 Qui 1 Sab 1 Seg 1 Sex
    1 Ter 10 Dom 10 Qua 10 Qui 10 Sab 10 Seg
    10 Sex 10 Ter

     Dim Dadapter98 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter98.SelectCommand = New OleDbCommand("SELECT CodDia + ' ' + SiglaSemana as DiaSem,A.CodMes,B.codMes,count(DiaSem) AS 'Count' FROM tbAgendaCalendario A, tbAgendaMes B WHERE A.CodMes = B.codMes GROUP BY CodDia,SiglaSemana,A.CodMes,B.codMes", New OleDbConnection(My.Settings.SIConecte))
            Dadapter98.Fill(DSet, "TBAgendaDia")

    terça-feira, 10 de julho de 2012 14:02