如何将我的PC的当前日期和时间添加到SQL Server数据库列?

时间:2013-10-22 04:13:20

标签: c# asp.net sql-server datetime

我有一个代码,我使用查询字符串方法将数据插入SQL服务器,如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Request.QueryString["x"] != null)
        {
            if (Request.QueryString["y"] != null)
            {
                insertData();
            }
        }
     //   else
      //  {
     //         Response.Redirect("http://localhost:53627/Default.aspx");
     //   }


    }
    public void insertData()
    {
        using (SqlConnection con = new SqlConnection(GetConnectionString()))
        {
            con.Open();
            try
            {
                using (SqlCommand cmd = new SqlCommand("INSERT INTO Test(x, y) VALUES(@x, @y)", con))
                {
                    cmd.Parameters.Add(new SqlParameter("x", Request.QueryString["x"]));
                    cmd.Parameters.Add(new SqlParameter("y", Request.QueryString["y"]));
                    cmd.ExecuteNonQuery();
                }
            }   
            catch (Exception Ex)
            {
               // Console.WriteLine("Unable To Save Data. Error - " + Ex.Message);
                Response.Write("Unable To Save Data. Error - " + Ex.Message);
            }
        }

    }
    public string GetConnectionString()
    {
        //sets the connection string from the web config file "ConnString" is the name of the Connection String
        return System.Configuration.ConfigurationManager.ConnectionStrings["MyConsString"].ConnectionString;
    }
}

现在在当前的代码中我需要添加我的系统的日期和时间以及x和y值....任何指导?

1 个答案:

答案 0 :(得分:3)

您可以向表格测试添加一个列,让我们称之为CreatedDate并将default值设置为GETDATE()

  

默认

     

指定值不为列时提供的值   在插入期间明确提供。 DEFAULT定义可以   应用于除定义为时间戳的列之外的任何列或那些列   使用IDENTITY属性。如果为a指定了默认值   用户定义的类型列,该类型应支持隐式   从constant_expression转换为用户定义的类型。默认   删除表时删除定义。只有一个常数   值,例如字符串;标量函数(系统,   用户定义的,或CLR功能);或NULL可以用作默认值。至   保持与早期版本的SQL Server的兼容性,a   约束名称可以分配给DEFAULT。

     

<强> GETDATE()

     

将当前数据库系统时间戳记作为日期时间值返回   没有数据库时区偏移量。这个值来源于   SQL Server实例的计算机操作系统   正在运行。

SQL Fiddle DEMO

作为一个想法,如果你想从C#发送DateTime值,你可以使用DateTime.Now

将代码更改为这样的代码
  

获取一个设置为当前日期和时间的DateTime对象   这台电脑,以当地时间表示。

using (SqlCommand cmd = new SqlCommand("INSERT INTO Test(x, y, dt) VALUES(@x, @y, @dt)", con))
{
    cmd.Parameters.Add(new SqlParameter("x", Request.QueryString["x"]));
    cmd.Parameters.Add(new SqlParameter("y", Request.QueryString["y"]));
    cmd.Parameters.Add(new SqlParameter("dt", DateTime.Now));
    cmd.ExecuteNonQuery();
}