Gravar data atual no campo tipo date da tabela com firebird ibexpert

23/06/2020

0

Bom dia a todos,
venho a tempo buscando uma solução para meu problema na internet,apesar de muitas dicas encontradas nenhuma deu certo para resolver meu problema.
Tenho um aplicativo que antes usava o banco como mysql mas decidi mudar para firebird embarcado devido a facilidade de instalação para o cliente na hora de distribuir.
mas infelizmente estou tendo problema na conversão de data na hora de salvar o registro.
tenho uma tabela com o campo data_chegada e outro campo Hora_chegada.No formulario da aplicação não uso textbox para isso,pois quer que salve o banco a data e hora atual quando salvar registro.mas estou obtendo erro "erro ao salvar:conversion erro from string ".
tenho outros campos data com datatimepickler no formulario e salva corretamente sem erro no banco,mas a data atual da esse erro informado.
Juro que ja vasculhei tudo e não consigo resolver.=(
segue o código para se alguma alma bondosa conseguir uma solução serei muitíssimo grato.



Private Sub btnSalvar_Click(sender As Object, e As EventArgs) Handles btnSalvar.Click

If txtcdEncomenda.Text <> "" Then

'FORMATANDO DATA PARA FIREBIRD
Dim data As String
data = Now.ToString("yyyy/MM/dd")



Dim hora As String
hora = Now.ToString("yyyy/MM/dd hh:mm")

Try

'TRATAMENTO PARA IMAGEM DO TIPO IMAGE DIRETO DA PICKTURE BOX
Dim ms As New IO.MemoryStream

img.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim byteArray = ms.ToArray



'VERIFICAR SE A ENCOMENDA JÁ FOI ENTREGUE
Abrir()
Dim cmdCPF As FbCommand
Dim readerCPF As FbDataReader
Dim sqlCPF As String
sqlCPF = "SELECT * FROM CAD_ENTREGA where cdrastreio = '" & txtcdEncomenda.Text & "' "
cmdCPF = New FbCommand(sqlCPF, con)
readerCPF = cmdCPF.ExecuteReader()

If readerCPF.Read = True Then
MsgBox("Essa Correspondência já foi registrada")
Limpar()


Exit Sub

End If
readerCPF.Close()

Abrir()
Dim cmd As FbCommand
Dim sql As String
sql = "INSERT INTO CAD_ENTREGA (nome, apto, torre, email, cdrastreio, tipo_envio, tipo_encomenda, retiradopor, data_chegada, hora_chegada, data_entregue, hora_entregue, Status, img) VALUES ('" & txtNome.Text & "', '" & txtApto.Text & "', '" & txtTorre.Text & "', '" & txtEmail.Text & "', '" & txtcdEncomenda.Text & "', '" & txtEnvioEntrega.Text & "', '" & txtenvioEncomenda.Text & "', '" & txtRetirante.Text & "', '" & data & "', '" & hora & "', '', '', 'Registrado', @img) "

'DECLARAÇÃO DE PARAMETRO DE IMAGEM FILE
Dim param As New FbParameter
param.FbDbType = FbDbType.Binary
param.ParameterName = "img"
param.Value = byteArray


cmd = New FbCommand(sql, con)
cmd.Parameters.Add(param) ' copiar
cmd.ExecuteNonQuery()

Listar()


Catch ex As Exception
MsgBox("Erro ao Salvar!!" + ex.Message)

MsgBox("Ocorreu um Erro ao enviar E-mail")
End Try
Else
MsgBox("Código de Rastreio preenchimento obrigatório!!")
End If
Samuel

Samuel

Responder

Posts

23/06/2020

Emerson Nascimento

primeiro é preciso saber quais os tipos dos campos envolvidos.
vou supor que data_chegada é do tipo DATE e hora_chegada é VARCHAR(5).
data = Now.ToString("yyyy/MM/dd")
hora = Now.ToString("hh:mm")





Responder

23/06/2020

Samuel

primeiro é preciso saber quais os tipos dos campos envolvidos.
vou supor que data_chegada é do tipo DATE e hora_chegada é VARCHAR(5).
data = Now.ToString("yyyy/MM/dd")
hora = Now.ToString("hh:mm")






Boa tarde Emerson,
Maravilha deu certo,Deus abençoe vc ajudou muito.
Não abusando da sua bondade,vc saberia me informar como eu corrijo o erro de acentos nas palavras digitadas,pois salva co ? as palavras com acento.
os caracteres do banco ta como UTF8.
Grato mais uma vez.
Responder

23/06/2020

Emerson Nascimento

Responder

24/06/2020

Samuel


Obrigado Emerson,
li esse poster mas não entendi oque tem que fazer =(,
Abraço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar