none
Inserir data e hora do registro executado

    Question

  •  

    Boa Tarde,

     

    Possuo um sistema onde registra a ação de cada usuário,ou seja quando ao incluir uma info é registrado o usuário e seu id,só não estou conseguindo incluir a data e a hora que ele efetuou esse processo.

     

    No banco possui a tabela log com os campos: id_log,log,id_user,data_log

     

    Meu código de inclisao de quem incluiu e seu id é o seguinte:

     

    Dim usuario As String = Session("PreviousUser")

    Dim id As String = Session("id")

    'abre a conexao e atualiza ou insere um registro na base de dados

    Try

    'cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=C:\ola\database\dados.mdb"

    cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

    cn.Open()

    cm.Connection = cn

    If txtConteudo.Text = "" Then

    lblMsg.Text = "Por favor,informe um Titulo"

    Else

    cm.CommandText = "Update conteudoindex Set tituloum='" & conteudo & "'"

    With cm.Parameters

    .Add(New OleDb.OleDbParameter("tituloum", conteudo))

    End With

    cm.ExecuteNonQuery()

    lblMsg.Text = "O registro foi atualizado com sucesso."

    txtConteudo.Text = ""

    cm.CommandText = "insert into log (log,id_user) values('" & usuario & "','" & id & "')"

    cm.ExecuteNonQuery()

     

    Como faço para incluir tambem a data e o horário a qual a ação foi executada???

     

    Muito Obrigado,

    Wednesday, May 07, 2008 8:08 PM

Answers

  •   Leandro,

     

    Alterações necessárias em Negrito:

     

    Code Snippet

    Dim usuario As String = Session("PreviousUser")

    Dim id As String = Session("id")

    'abre a conexao e atualiza ou insere um registro na base de dados

    Try

    'cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=C:\ola\database\dados.mdb"

    cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

    cn.Open()

    cm.Connection = cn

    If txtConteudo.Text = "" Then

    lblMsg.Text = "Por favor,informe um Titulo"

    Else

    cm.CommandText = "Update conteudoindex Set data_log = Getdate(), tituloum='" & conteudo & "'"

    With cm.Parameters

    .Add(New OleDb.OleDbParameter("tituloum", conteudo))

    End With

    cm.ExecuteNonQuery()

    lblMsg.Text = "O registro foi atualizado com sucesso."

    txtConteudo.Text = ""

    cm.CommandText = "insert into log (data_log, log,id_user) values(getdate(), '" & usuario & "','" & id & "')"

    cm.ExecuteNonQuery()

     

     


    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

    Wednesday, May 07, 2008 8:29 PM
  • Leandro qual é o banco de dados? SQL Server? O getdate é uma função do próprio SQL Server que retorna a data e hora atual.

     

    Eu não entendi bem, a variavel conteudo contém os dados do usuário e Data e Hora da operação? Detalha melhor que eu ajudo vc a resolver esse problema.

     

    Obrigado.

     

    Wednesday, May 07, 2008 8:45 PM
  • Opa! Leandro, no Access utilize a função Now()

     

    Code Snippet

    Dim usuario As String = Session("PreviousUser")

    Dim id As String = Session("id")

    'abre a conexao e atualiza ou insere um registro na base de dados

    Try

    'cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=C:\ola\database\dados.mdb"

    cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

    cn.Open()

    cm.Connection = cn

    If txtConteudo.Text = "" Then

    lblMsg.Text = "Por favor,informe um Titulo"

    Else

    cm.CommandText = "Update conteudoindex Set data_log = Now(), tituloum='" & conteudo & "'"

    With cm.Parameters

    .Add(New OleDb.OleDbParameter("tituloum", conteudo))

    End With

    cm.ExecuteNonQuery()

    lblMsg.Text = "O registro foi atualizado com sucesso."

    txtConteudo.Text = ""

    cm.CommandText = "insert into log (data_log, log,id_user) values(Now(), '" & usuario & "','" & id & "')"

    cm.ExecuteNonQuery()

     

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     

    Wednesday, May 07, 2008 9:05 PM

All replies

  •   Leandro,

     

    Alterações necessárias em Negrito:

     

    Code Snippet

    Dim usuario As String = Session("PreviousUser")

    Dim id As String = Session("id")

    'abre a conexao e atualiza ou insere um registro na base de dados

    Try

    'cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=C:\ola\database\dados.mdb"

    cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

    cn.Open()

    cm.Connection = cn

    If txtConteudo.Text = "" Then

    lblMsg.Text = "Por favor,informe um Titulo"

    Else

    cm.CommandText = "Update conteudoindex Set data_log = Getdate(), tituloum='" & conteudo & "'"

    With cm.Parameters

    .Add(New OleDb.OleDbParameter("tituloum", conteudo))

    End With

    cm.ExecuteNonQuery()

    lblMsg.Text = "O registro foi atualizado com sucesso."

    txtConteudo.Text = ""

    cm.CommandText = "insert into log (data_log, log,id_user) values(getdate(), '" & usuario & "','" & id & "')"

    cm.ExecuteNonQuery()

     

     


    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

    Wednesday, May 07, 2008 8:29 PM
  • Laercio,

     

    Eu executei conforme você mencionou estou utilizando vb.net

     

    ele gera esse erro:

     

    Undefined function 'getDate' in expression.

     

    e quando eu faço:

     

    "insert into log (data_log, log,id_user) values(getdate, '" & usuario & "','" & id & "')"

     

    sem os () não sei como o conteudo digitado é inserido no campo data_log,nao sei como pois quem obtem esse valor é a variavel Dim conteudo as String  = txtUsuario.text

     

    Muito Obrigado,

     

    Leandro Molina

     

     

     

    Wednesday, May 07, 2008 8:40 PM
  • Leandro qual é o banco de dados? SQL Server? O getdate é uma função do próprio SQL Server que retorna a data e hora atual.

     

    Eu não entendi bem, a variavel conteudo contém os dados do usuário e Data e Hora da operação? Detalha melhor que eu ajudo vc a resolver esse problema.

     

    Obrigado.

     

    Wednesday, May 07, 2008 8:45 PM
  • Olá,

     

    Estou utlizando access não SQL Server.

     

    Como que eu faria para incluir a data e a hora ao incluir as informações no banco access??

     

    vb.net

     

    Obrigado

     

    Wednesday, May 07, 2008 8:55 PM
  • Opa! Leandro, no Access utilize a função Now()

     

    Code Snippet

    Dim usuario As String = Session("PreviousUser")

    Dim id As String = Session("id")

    'abre a conexao e atualiza ou insere um registro na base de dados

    Try

    'cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=C:\ola\database\dados.mdb"

    cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

    cn.Open()

    cm.Connection = cn

    If txtConteudo.Text = "" Then

    lblMsg.Text = "Por favor,informe um Titulo"

    Else

    cm.CommandText = "Update conteudoindex Set data_log = Now(), tituloum='" & conteudo & "'"

    With cm.Parameters

    .Add(New OleDb.OleDbParameter("tituloum", conteudo))

    End With

    cm.ExecuteNonQuery()

    lblMsg.Text = "O registro foi atualizado com sucesso."

    txtConteudo.Text = ""

    cm.CommandText = "insert into log (data_log, log,id_user) values(Now(), '" & usuario & "','" & id & "')"

    cm.ExecuteNonQuery()

     

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     

    Wednesday, May 07, 2008 9:05 PM
  • Muito obrigado pela atenção e ajuda.

     

    Coloquei e gravo data e horário,muito obrigado.

    Thursday, May 08, 2008 11:10 AM