2014-02-16 40 views
-4

我想从C#应用程序中将系统的当前日期和时间插入到SQL Server数据库中。如何在C#中获取当前系统日期和时间并将其插入到SQL Server数据库中?

C#以何种格式获取系统日期,SQL Server将接受该日期?

+0

为什么不在查询中插入“NOW()”? –

+0

http://msdn.microsoft.com/en-us/library/system.datetime.now%28v=vs.110%29.aspx和http://www.w3schools.com/sql/sql_dates.asp可能有帮助 – blitzen

+2

RIP Google !!! –

回答

3

,你可以把它由数据库本身做类似下面

INSERT INTO MyTable (MyDate) Values (GetDate()) 

或者,如果你需要设置DateTime列的值,你可以使用参数

INSERT INTO MyTable (MyDate) Values (@MyDate) 

cmd.Parameters.AddWithValue("@MyDate", DateTime.Now); 

示例代码:

using (SqlConnection con = new SqlConnection(clsConnection.getConnectionString())) 
using (SqlCommand command = new SqlCommand("insert into HMS.dbo.CheckInOut(Room_No,Name,DateTime,CheckInOut) Values(02,'Name',GETDATE(),'CheckIn')", con)) 
{ 
    con.Open(); 
    command.ExecuteNonQuery(); 
    lblmissing.Text = "Recorded Inserted Successfully"; 
} 
+0

我试过了,但我没有插入它。 command.CommandText =“insert into HMS.dbo。CheckInOut Values(02,'Name',GETDATE(),'CheckIn');“; 这是我写的代码 –

+0

您是否使用sql server?什么是列数据类型? – Damith

+0

”insert into HMS.dbo。 CheckInOut(Column_1_Name,Column_2_Name,..)值(2,'Tanverr',GETDATE(),'CheckIn')“ –

0

对于C#:

DateTime dateTimeNow = DateTime.Now; 

要插入到SQL服务器:

SqlParameter param = new SqlParameter(parameterName, SqlDbType.DateTime); 
param.Direction = ParameterDirection.Input; 
param.Value = dateTimeNow;  
1

您可以使用

DateTime.Now; /* to get the date time */ 

然后将其插入使用SQL数据库

"INSERT INTO table_name (Date) VALUES (@0)", DateTime.Now 

请注意,格式必须匹配。您不能只创建一个日期时间并插入它。

以下是我的数据库中的格式:2/7/2014 11:14:14 PM。虽然它不是DateTime.Now,但它会告诉你什么是格式,它是在几天前(7日)发现的。

-4

如果你只是想获得时间分秒只,用

DateTime.Now.ToShortDateString(); 
+0

它(几乎)从来没有一个好主意来存储日期作为一个字符串。你只是带走了太多的灵活性(当涉及本地化,时区等时,你正在为自己设置一个头痛的问题)。 – chrischu

相关问题