Jump to content


Photo

Erro Em Conversão De Formato De Data


  • Faça o login para participar
2 replies to this topic

#1 Gabriel2ny

Gabriel2ny

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino

Posted 26/05/2009, 08:54

Meus caros, eu voltei a redigi este tópico, porque percebi algumas situaçoes no meu banco de dados e tinha postado errado anteriormente.

O problema é clássico no meu BD e nao estou conseguindo resolver, é o seguinte:

Ao gravar uma data no meu banco de dados (Sql Server 2005) ela é registrada no formato americano (mm/dd/aaaa).

Pesquisei a bessa na net antes de postar aqui e não consegui achar a solução, cheguei a usar um SET DATEFORMAT e tambem um CONVERT na minha instução SQL. Preciso da ajuda de voces para saber o que pode estar acontecendo, abaixo segue a minha query sql.


Estou usando a seguinte Stored Procedure para inserir os dados na tabela (o campo de data a ser buscado é o dtNascPessoaFis)

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER  PROCEDURE [dbo].[sp_addPessoaFis]
	@dsEmailPessoa DS, 
	@noTpEndereco NUMERIC, 
	@dsEndePessoa DS, 
	@dsNumEndePessoa VARCHAR(8),
	@nmBairroEndePessoa NM, 
	@nmCidadeEndePessoa NM, 
	@dsSiglaUFEndePessoa VARCHAR(2), 
	@cdEPEndePessoa VARCHAR(8), 
	@dsLoginPessoa VARCHAR(20), 
	@dsSenhaPessoa VARCHAR(20), 
	@inNewsLetterPessoa [IN], 
	@noEstCivil NUMERIC, 
	@noProf NUMERIC, 
	@noEscol NUMERIC, 
	@nmPessoaFis NM, 
	@noCpfPessoaFis VARCHAR(11), 
	@dsSexoPessoaFis VARCHAR(1), 
	@dtNascPessoaFis DT, 
	@noTelResPessoaFis VARCHAR(15) = null, 
	@noTelComPessoaFis VARCHAR(15) = null, 
	@noTelCelPessoaFis VARCHAR(15) = null,
	@dsComplEndePessoa DS = null
AS
DECLARE @noPessoa NUMERIC
BEGIN TRAN
	/* INSERINDO PESSOA */
	INSERT INTO PRM_Pessoa (noTpEndereco, noTpPessoa, dsEndePessoa, dsNumEndePessoa, dsComplEndePessoa, nmBairroEndePessoa, nmCidadeEndePessoa, cdEPEndePessoa, dsSiglaUFEndePessoa, dsEmailPessoa, dsLoginPessoa, dsSenhaPessoa, inNewsLetterPessoa, dtCriaPessoa, dtUltAtuPessoa)
	VALUES (@noTpEndereco, 1, @dsEndePessoa, @dsNumEndePessoa, @dsComplEndePessoa, @nmBairroEndePessoa, @nmCidadeEndePessoa, @cdEPEndePessoa, @dsSiglaUFEndePessoa, @dsEmailPessoa, @dsLoginPessoa, @dsSenhaPessoa, @inNewsLetterPessoa, GETDATE(), GETDATE())
	IF @@ERROR <> 0 BEGIN
		ROLLBACK TRAN
		RETURN -1
	END

	/* OBTENDO NÚMERO DA PESSOA */
	SET @noPessoa = (SELECT @@IDENTITY)

	/* INSERINDO PESSOA FÍSICA */
	INSERT INTO PRM_PessoaFis (noPessoa, noEscol, noEstCivil, noProf, nmPessoaFis, noCpfPessoaFis, dtNascPessoaFis, dsSexoPessoaFis, noTelResPessoaFis, noTelComPessoaFis, noTelCelPessoaFis)
	VALUES (@noPessoa, @noEscol, @noEstCivil, @noProf, @nmPessoaFis, @noCpfPessoaFis, @dtNascPessoaFis, @dsSexoPessoaFis, @noTelResPessoaFis, @noTelComPessoaFis, @noTelCelPessoaFis)
	IF @@ERROR <> 0 BEGIN
		ROLLBACK TRAN
		RETURN -1
	END

COMMIT TRAN
RETURN @noPessoa



Obs.: Sistema está sendo feito em ASP VBScript

Conto com a ajuda de voces!

Edição feita por: Gabriel2ny, 26/05/2009, 16:31.


#2 Gabriel2ny

Gabriel2ny

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino

Posted 05/06/2009, 08:40

Entao pessoal, percebi que nao houve nenhuma resposta, mas achei a solução.

Antes de inserir no banco de dados coloquei a data entre aspas simples 'data_emissao' e funcionou blz.

abraços

#3 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 18/06/2009, 12:11

Legal, mas caso queira saber algo mais sobre manipulação de datas no MsSQL, veja tópico: Manipular Datas

(ok2)

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq