我如何设法在 SQL-Server 中的 table 中自动插入时间戳值?

How can I manage to have an auto-insert timestamp value in my table in SQL-Server?

我正在做一个项目。我的项目包含一个 c# 程序和一个附加的数据库。当数据插入我的 table.

时,我需要有一列来记录时间

我的目标是能够在不同的时间间隔报告我的数据。

我已经尝试过的:我在 table 中包含了一个时间戳列。我认为添加时间戳列会自动为我完成这项工作。但它本身不记录时间我想我必须从源输入时间。

我在 google 中搜索了我的问题,但没有任何操作方法问题。所有问题都是关于时间数据类型之间的差异。

最好的方法是拥有一个 nvarchar(15) 类型的列并将其设置为

DateTime.Now.ToString(); 

在 c# 中。

因此,您可以使用日期时间创建所需的字符串,例如:yyyy/MM/dd 或 MM/yyyy/dd

也许这个 url 会对你有所帮助 :

https://docs.microsoft.com/en-us/dotnet/api/system.datetime.tostring?view=netframework-4.7.2

我不得不使用 CURRENT_TIMESTAMP Microsoft suggestion for having a Timestamp

实际上我自己并没有在我的项目中使用它。

我所做的是在我的 C# 程序中有一个标签和一个计时器。我将通过单击按钮触发计时器并将其停止在我的程序中的某个位置并将时间值存储在变量中(我们称之为 Timevariable)。然后,当我在我的数据库中输入其他信息时,我会使用该变量来存储我选择它作为数据库中时间戳的时间,代码如下:

sqlcon.Open();

SqlCommand sqlcmd = new SqlCommand("AddTime", sqlcon);
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.AddWithValue("@otherInformation",source of that Information);
sqlcmd.Parameters.AddWithValue("@QTimeStamp", Timevariable);

sqlcon.Open();

我这里使用的是存储过程。