none
Mesclar dados de dois TextBox para Salvar em um unico campo no banco

    Question

  • Olá Pessoal

     

    Preciso salvar a data e a hora que estão em TextBox separados, mas que são gravados em um unico campo DateTime no SQL Server. Como faço para mesclar os dois no momento em que for inserir ?

     

    DataBinding do campo Hora

    Bind("Hora", "{0:t}")

     

     

    []s

    Wednesday, August 01, 2007 12:57 PM

Answers

  • nao,

    como a chave é composta, tem a inscrição a data e a hora, pode até ter dois iguais, mas nunca os tres. o que ocorre é que o campo hora sendo datetime, salva a data atual e qdo muda o dia o valor do campo fica diferente entao "aceita" os tres campos iguais.

     

    Mas acho que resolvi o problema, consegui da um jeitinho e mudei o campo hora pra char, ainda vou testar pra ver se deu certo.

     

    Agradeço a ajuda!

    []s

    Wednesday, August 01, 2007 6:09 PM

All replies

  •  

    Bom dia

     

    Olha de forma bem simples vc poderia fazer um concaternação dos dois textbox para forma um unico texto

     

    string data = textbox1.text + textbox2.text

     

    convert.todatetime(data)

     

    mas é necessario ver como ficaria a string depois de concaternada para ver se atende ao padrao de data e hora, senão quando for converter irá causar algum erro

     

    Fabio

     

    Wednesday, August 01, 2007 1:15 PM
  •  

    Valeu fabio, esqueci de mencionar, esses campos estão em um formview e são inseridos por DataBind. Nesso caso tenho que alterar o DataBinding? Bind("Hora", "{0:t}")
    Wednesday, August 01, 2007 1:37 PM
  • Alpha-x

     

    Eu nunca trabalhei com formview e não sei dizer precisamente como deve ser feito, vou ficar devendo!

    mas pra matar esse problema, não pode ser inserido apenas um textbox para entrada de ambos os dados?

     

    Fabio

     

    Wednesday, August 01, 2007 1:46 PM
  •  Fabio Sales wrote:

    Alpha-x

     

    Eu nunca trabalhei com formview e não sei dizer precisamente como deve ser feito, vou ficar devendo!

    mas pra matar esse problema, não pode ser inserido apenas um textbox para entrada de ambos os dados?

     

    Fabio

     

     

    Então, poderia sim, mas daria mais trabalho para fazer a validação com a data e hora juntos, sem contar que a máscara fica mto estranha (__/__/_______:__). Então foi pedido pra fazer saparado. Outro problema que estou tendo é com o campo hora que, como é DateTime, salva a hora e uma data, que ele define como a data atual, então se eu salvo um registro hj e salva o mesmo registro amanha, ele aceita gerando duplicidade, pois considera o campo hora diferente por causa da data.

     

    Como resolver esses problemas ?

    Wednesday, August 01, 2007 1:53 PM
  •  

    Quando vc salva pela segunda vez não vc esta fazendo um update ou um insert no banco?

     

    pois se for update vc apenas vai atualizar a linha desse registro consequentemente ira atualizar a hora e data e não acontecerá uma duplicidade. Isso ao meu ver.

     

    Qual o processo q vc faz quando vc salva pela segunda vez?

     

    Fabio

     

    Wednesday, August 01, 2007 2:02 PM
  •  

    Não salvo o mesmo registro, o campo hora é a chave primaria, que é composta junto com inscrição e Data, entao  assim, pega a inscrição, a data e a hora. Aí que ocorre o problema da duplicidade de registros, quado salva em dias diferentes, por causa da data na hora.
    Wednesday, August 01, 2007 2:32 PM
  •  

    Hum nao seria melhor rever a a logica, pois usar hora como chave primaria é um pouco complicado, pois a hora de hj nunca mais sera a mesma.

     

    Fabio

    Wednesday, August 01, 2007 4:07 PM
  •  Fabio Sales wrote:

     

    Hum nao seria melhor rever a a logica, pois usar hora como chave primaria é um pouco complicado, pois a hora de hj nunca mais sera a mesma.

     

    Fabio

     

    É, eu sei disso e concordo com vc, porém eu não posso alterar a estrutura desse banco, pois ele é usado por outro sistema. Então a instrução que eu tenho é pra manter a estrutura, então tenho alguns problemas como esse, fazer o que...

    Wednesday, August 01, 2007 4:41 PM
  • entendi é complicado mesmo..mas não sei no que posso te ajudar nessa situação..

    vc não pode atualizar outros campos e deixar a hora sem atualizar na segunda vez?

     

    Fabio

    Wednesday, August 01, 2007 4:45 PM
  •  Fabio Sales wrote:

    entendi é complicado mesmo..mas não sei no que posso te ajudar nessa situação..

    vc não pode atualizar outros campos e deixar a hora sem atualizar na segunda vez?

     

    Fabio

    Então, mas eu não to atualizando, o problema é a duplicidade que pode ser gerada ao inserir um registro, por exemplo, hj e o mesmo registro amanha. Por causa da data no campo da hora, que ele salva sempre como a data do dia, ele não considera a mesma hora, com isso ele aceita mais de um registro igual.

     

    Uma solução que eu to pensando é, ja que não tem como o campo datetime hora salvar só a hora, então que salva uma data padrão (1/1/1900 por ex), mas como vou inserir essa data junto com a hora.

     

    Obs. meu campo hora está dentro de um formview.

    Wednesday, August 01, 2007 4:51 PM
  • mas mesmo assim vai poder gerar um duplicidade não vai?

     

    pq a hora pode se repetir no outro dia.

     

    isso se eu entendi bem

     

    Fabio

    Wednesday, August 01, 2007 5:28 PM
  • nao,

    como a chave é composta, tem a inscrição a data e a hora, pode até ter dois iguais, mas nunca os tres. o que ocorre é que o campo hora sendo datetime, salva a data atual e qdo muda o dia o valor do campo fica diferente entao "aceita" os tres campos iguais.

     

    Mas acho que resolvi o problema, consegui da um jeitinho e mudei o campo hora pra char, ainda vou testar pra ver se deu certo.

     

    Agradeço a ajuda!

    []s

    Wednesday, August 01, 2007 6:09 PM