C# 保存服务器日期和时间

C# 保存服务器日期和时间,c#,asp.net,.net,asp.net-mvc,C#,Asp.net,.net,Asp.net Mvc,我想在我的新闻中保存时间和日期,但在下面的方法中,我保存了用户的时间,如果他/她的时间错误,将保存错误的时间。我如何使用服务器的时间来代替 SqlConnection sqlconn = new SqlConnection(connStr); SqlCommand sqlcmd = new SqlCommand("insert into SubmitManuscript(username,title,authors,type,date,upload,reviewer1,email1,review

我想在我的新闻中保存时间和日期,但在下面的方法中,我保存了用户的时间,如果他/她的时间错误,将保存错误的时间。我如何使用服务器的时间来代替

SqlConnection sqlconn = new SqlConnection(connStr);
SqlCommand sqlcmd = new SqlCommand("insert into SubmitManuscript(username,title,authors,type,date,upload,reviewer1,email1,reviewer2,email2,reviewer3,email3)values(@username,@title,@authors,@type,@date,@upload,@reviewer1,@email1,@reviewer2,@email2,@reviewer3,@email3)", sqlconn);
sqlcmd.Parameters.AddWithValue("@username", username);
sqlcmd.Parameters.AddWithValue("@title", Text_Title.Text);
sqlcmd.Parameters.AddWithValue("@authors", Text_Author.Text);
sqlcmd.Parameters.AddWithValue("@type", dd_Type.SelectedItem.Text);
sqlcmd.Parameters.AddWithValue("@date", DateTime.Now);
//sqlcmd.Parameters.AddWithValue("@upload", "~/Suppelment/" + 

无需传递日期时间参数。只需在数据库中的表中将datetime设置为默认值。这应该能奏效

以下是如何在表生成脚本中设置此项的链接:

编辑:您的表需要有一个特殊的DateTimeStamp列,该列将在插入记录时自动设置系统日期时间。我将用一个简单的脚本作为例子

注意:如果您已经准备好了表,那么只需从脚本
altertable

CREATE TABLE [dbo].[Employee]
(
    [EmployeeId] [int] IDENTITY(1,1) NOT NULL,
    [Name] [varchar](50) NULL,
    [BirthDate] [datetime] NOT NULL,
    [LastUpdateTime] [datetime] NOT NULL,

    CONSTRAINT [PK_Employee] 
        PRIMARY KEY CLUSTERED ([EmployeeId] ASC)
                    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, 
                          IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
                          ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[Employee] 
    ADD CONSTRAINT [DF_Employee_LastUpdateTime]  
        DEFAULT (getdate()) FOR [LastUpdateTime]
GO

--- You may also use multiple record insert statement in SQL Server 2008
--- however, I will use a traditional approach here
INSERT INTO [dbo].[Employee] (Name, BirthDate)
VALUES ('Smith', '04/14/1979')

INSERT INTO [dbo].[Employee] (Name, BirthDate)
VALUES ('Jhone', '11/08/1983')
GO

我不明白,你能解释一下吗?脚本是答案的一部分,可以给你一个想法。这个
DateTime。现在
运行在(web)服务器上,所以这是服务器的时间,而不是客户端的计算机的时间。除了上面提到的@HansKesting,我真的无法理解为什么您不应该信任运行业务流程的服务器的日期和时间。老实说,我认为让db服务器输入日期和时间并不能解决您的问题。