根据点击插入当前日期时间

时间:2013-06-26 08:00:47

标签: asp.net database datetime

我目前正在尝试将日期时间存储在数据库中。想法是当按下按钮时,数据库将把当前日期时间存储在数据库中。 我尝试了一些方法,但他们提示我这个错误:

“'26 / 6/2013 00:00:00'附近的语法不正确”

这是我的代码:

con.Open();
        query = "INSERT INTO dbo.url_map (long_url, expiry_date) Values ('" + tbLongURL.Text + "' , '" + DateTime.Today + "')";
        SqlCommand cmd = new SqlCommand(query, con);
        cmd.Parameters.AddWithValue("@long_url", tbLongURL.Text);
        cmd.Parameters.AddWithValue("@expiry_date", DateTime dt = DateTime.ParseExact(DateTime.Today.ToString(), "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture));
        cmd.ExecuteNonQuery();

我添加日期时间的方式有什么问题?

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:3)

更正了查询 -

   query = "INSERT INTO dbo.url_map (long_url, expiry_date) Values ('" + tbLongURL.Text + "', '" + DateTime.Today + "')";

答案 1 :(得分:0)

如果您使用参数,我认为您的查询应该是

query = "INSERT INTO dbo.url_map (long_url, expiry_date) Values (@long_url, @expiry_date)";
//this way sqlcommand make sense
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@long_url", tbLongURL.Text);
cmd.Parameters.AddWithValue("@expiry_date", DateTime.Today);

答案 2 :(得分:0)

    protected void Button1_Click(object sender, EventArgs e)
    {
        Insert();
    }
    public void Insert()
    {
        try
        {
            _conn = new SqlConnection(con);
            _cmd = new SqlCommand();
            _cmd.Connection = _conn;
            _conn.Open();
            _cmd.CommandType = CommandType.StoredProcedure;

            _cmd.CommandText = "insert_date";

            _cmd.Parameters.Add("@Date",SqlDbType.DateTime).Value = DateTime.Now;


            _cmd.ExecuteNonQuery();
            _conn.Close();
        }
        catch (Exception ex)
        { 

        }
    }

存储过程:

创建过程insert_date @Date datetime 如 插入DateTable值(@Date)

插入表格后的结果:

1 2013-06-26 14:29:36.987

答案 3 :(得分:0)

您可以直接将当前日期绑定到SQL Server中的“expiry_date”列。

步骤:

  1. 右键单击表格并选择“设计”。
  2. 在您的案例中点击所需的列“expiry_date”。
  3. 在列属性中,查找“常规部分”中的“默认值或绑定”。
  4. 将'GETDATE()'设为默认值,因此无论何时插入记录,都会将当前日期作为其值。