none
agenda RRS feed

  • Pergunta

  • Então e vou passar como parâmetro a  data, serviço, hora inicial e hora final e o retorno quero que seja os nome dos funcionários que estão disponíveis. Para vc enterder melhor tenho duas tabelas no banco:
    - agenda: servico, data, hora inicial, hora final e cliente
    - permissão: funcionario, servico e privilegio

    Abaixo segue o codigo que estou utilizando mas dessa maneira não estou conseguindo testar o intervalo entre hora finicial e hora final:

     //método busca agenda
            public BindingSource BuscaAgenda(MOR.agendaMOR ag)
            {
                DataSet tabela = new DataSet();
                BindingSource bs = new BindingSource();
                SqlDataAdapter da = new SqlDataAdapter(" SELECT pm.codigo, pm.funcionario, pm.tipo, pm.servico,pm.privilegio,fc.nome nome_func"
                                                       + " FROM permissao pm INNER JOIN"
                                                       + " funcionario fc ON pm.funcionario = fc.codigo"
                                                       + " WHERE privilegio = 'SIM' AND servico = '" + ag.Servico.Codigo + "'AND (NOT EXISTS"
                                                       + " (SELECT 'Agenda'"
                                                       + " FROM agenda ag"
                                                       + " WHERE data = '"+ag.Data+"' AND horaInicial >= '"+ag.HoraInicial+"' AND horaFinal <= '"+ag.HoraFinal+"'"
                                                       + " AND servico = '"+ag.Servico.Codigo+"'AND ag.funcionario = pm.funcionario))", ConStr);
                da.Fill(tabela, "agenda");
                bs.DataSource = tabela;
                bs.DataMember = "AGENDA";
                return bs;
            }
        }

    segunda-feira, 19 de outubro de 2009 14:45

Todas as Respostas

  • Você ja verificou esta consulta diretamente no SQL? Você deve passar os parâmetros exatamente como as variaveis na aplicação são alimentadas. Uma simples conversão do campo para varchar, ou datetime pode resolver o problema.
    terça-feira, 29 de março de 2011 19:16
  • Jaime,

    Esta mesma query que esta sendo utilizada em sua aplicação foi testada em seu SQL Server?

    As condições aplicadas para esta query são verdadeiras?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 30 de março de 2011 19:13