Ir para conteúdo

POWERED BY:

Arquivado

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

eu_Nana

Datetime

Recommended Posts

Realizei a conversão para datetime

 

Mas estou com um outro problema....

 

Tenho essa procedure:

 

USE [banco_func]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[s BANCO_FUNC verifica Funcionario_Hora] 
@Funcionario as varchar(50),
@Horario as datetime

AS
               SET NOCOUNT ON
               SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED


               SELECT Banco_Func_vch_Funcionario, Banco_Func_dat_Horario
               FROM dbo.Banco_Func
			WHERE Banco_Func_vch_Funcionario = @Funcionario AND Banco_Func_dat_Horario = @Horario

 

No caso ele deveria comparar o nome do funcionario e horario se a pessoa tentar gravar o mesmo nome e o mesmo horario ao mesmo tempo deveria retornar um erro dizendo que já consta no banco...

 

Meu código esta assim:

 

a clsCadFuncionarioDAO:

using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Web;
   using System.Data;
   usind BancodeDados;

   public class clsCadFuncionarioDAO
   {

       #region " Constantes de acesso ao banco de dados "

       private const string spCADASTRA_FUNCIONARIO= "[A FUNCIONARIO cadastra Funcionarios]";
       private const string spPARAMETROS_ENTRADA_CADASTRA_FUNCIONARIO = "@Funcionario_lng_Codigo:@Funcionario_vch_Nome:@Funcionario_vch_Sobrenome:@Funcionario_vch_Local:@Funcionario_vch_Cidade:@Funcionario_vch_Area:@Funcionario_dat_Data_Nascimento:@Funcionario_dat_Horario:";
       private const string spPARAMETROS_SAIDA_CADASTRA_FUNCIONARIO = "@Funcionario_lng_Codigo:";


       #endregion

       #region " Variaveis de acesso ao banco de dados "

       private DBFunctions m_oDB;
       private DataSet m_oDS;

       private string m_sStoredProc;    
       private string m_sNomeParIn;    
       private string m_sParIn;        
       private string m_sNomeParOut;  
       private string m_sParOut;    
       private string m_sSQL;      




       #endregion



       public bool CADASTRA_FUNCIONARIO(String Nome, String Sobrenome, String Local, String Cidade, String Area, String Data, String Horario)
       {
           try
           {

               m_sStoredProc = spCADASTRA_FUNCIONARIO;
               m_sNomeParIn = spPARAMETROS_ENTRADA_CADASTRA_FUNCIONARIO;
               m_sParIn = m_oDB.PreparaParametro(m_sNomeParIn);
               m_sNomeParOut = spPARAMETROS_SAIDA_CADASTRA_FUNCIONARIO;
               m_sParOut = "NULL";
               m_sParIn = m_sParIn.Replace("@Funcionario_lng_Codigo:", "");
               m_sParIn = m_sParIn.Replace("@Funcionario_vch_Nome:", Nome);
               m_sParIn = m_sParIn.Replace("@Funcionario_vch_Sobrenome:", Sobrenome);
               m_sParIn = m_sParIn.Replace("@Funcionario_vch_Local:", Local);
               m_sParIn = m_sParIn.Replace("@Funcionario_vch_Cidade:", Cidade);
               m_sParIn = m_sParIn.Replace("@Funcionario_vch_Area:", Area);
               m_sParIn = m_sParIn.Replace("@Funcionario_dat_Data:", Data);
               m_sParIn = m_sParIn.Replace("@Funcionario_dat_Horario:", Horario);



               return m_oDB.ExecutarAcao(ref m_sStoredProc, ref m_sNomeParIn, ref m_sParIn, ref m_sNomeParOut, ref m_sParOut);

               int p_sCadastro_lng_Codigo = int.Parse(m_oDB.ConteudoParametroSaida(ref m_sParOut));
           }
           catch (Exception ex)
           {
               throw new ApplicationException(ex.Message, ex.InnerException);
           }
       }


   }

 

 

 

 

 using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Web;
   using System.Data;
   using System.Data.SqlClient;
   using BancodeDados;
   using System.Configuration;


   public class clsCadFuncionario
   {


       private clsCadFuncionarioDAO c_CadFuncionarioDAO;
       private DBFunctions m_oDataBase;

        private String Funcioanrio; 
        private String Horario; 


       public bool CadastrarFuncionario(String Nome, String Sobrenome, String Local, String Cidade, String Area, String Data, String Horario)
       {

           // Busca no banco de dados o Funcionario/Horario se houve retorno de algum valor da busca no banco de dados
       DataSet m_oDataSet = m_oCadFuncionarioDAO.VER_FUNCIONARIO(p_sCelebrante, p_sHorario);
       try
       {
           Funcionario = m_oDataSet.Tables[0].Rows[0]["Banco_Func_vch_Funcionario"].ToString();
           Horario = m_oDataSet.Tables[0].Rows[0]["Banco_Func_dat_Horario"].ToString();
           return false;
       }
       catch (IndexOutOfRangeException)
       {
           c_CadFuncionarioDAO.CADASTRA_FUNCIONARIO(Nome, Sobrenome, Local, Cidade, Area, Data, Horario);

           return true;
       }


       }



   }

 

No caso ele não retorna nenhum erro, mas realiza o cadastro normalmente.....isso não deveria acontecer qnd entrar c mesmo nome e mesma hora.

 

No caso ao cadastrar a hora...esta cadastrando com essa estrutura: aaaa/mm/dd HH:mm:ss ....isso pode estar influenciando na verificação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim? Não entendi...

 

Uma outra coisa ele esta gravando a data e a hora que são campos separados da seguinte forma .....

 

data: 2012-08-08 00:00:00.000

horario: 2012-08-08 19:16:50.000

 

O que pode ser....como faço para gravar só a data e zerar a hora no campo data e a mesma coisa para o campo hora, e como faço para gravar somente o formato 19:16:50

 

Dessa forma:

data: 2012-08-08 00:00:00

horario: 0000-00-00 19:16:50

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.