如何仅在 C# 上的日期时间获取日期并将其放入数据库
How to get the date only on datetime on c# and putnit on database
我正在开发一个信息系统,为教师收集学生信息。其中一部分是通过 command.parameters.addwithvalue 输出数据库上日期时间选择器的值。所以我问是否有任何方法可以解析 datetime oicker,以便只有日期出现在数据库上。当前,显示日期和时间(设置日期和 12:00:00 上午。
在SQL2016年,如果您不需要时间,可以使用数据类型date
代替datetime
。如果该列的数据类型是 datetime
,您将始终有一个与之关联的时间(如果您只为该值提供 SQL 日期,它会将时间设置为午夜 - 00:00:00) .
如果您不想(或者如果您不能)更改数据库中的数据类型,那么在 C# 端,您至少可以确保将所有时间都规范化为午夜使用 ControlName.Value.Date
的日期时间选择器,其中 ControlName 是您的日期时间选择器控件的名称。 (将所有时间标准化为午夜可以使 SQL 当您真正需要的只是日期但又受困于日期时间数据类型时,查询编写更容易)
DateTime.Date 属性 在 .net 中:
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.date?view=netframework-4.7.2
我也有针对此问题的 C# 函数;
public String ArrangeDate (string S)
{
FirstPoint = S.IndexOf(".");
SecondPoint =S.IndexOf(".",FirstPoint+1);
S= S.Substring(SecondPoint+1,4) + "-" +S.Substring(FirstPoint+1,SecondPoint-FirstPoint-1)+ "-" + S.Substring(0,FirstPoint);
return S;
}
将 datetimepicker 文本发送到存储过程,如带有时间的 varchar 参数。
并像这样在 SP 中解析它
create SP
@Date varchar(50)
as
declare @DateX smalldatetime
select @DateX=Convert(smalldatetime,substring(@Date,7,4) +'-' + substring(@Date,4,2) +'-' + substring(@Date,1,2))
我正在开发一个信息系统,为教师收集学生信息。其中一部分是通过 command.parameters.addwithvalue 输出数据库上日期时间选择器的值。所以我问是否有任何方法可以解析 datetime oicker,以便只有日期出现在数据库上。当前,显示日期和时间(设置日期和 12:00:00 上午。
在SQL2016年,如果您不需要时间,可以使用数据类型date
代替datetime
。如果该列的数据类型是 datetime
,您将始终有一个与之关联的时间(如果您只为该值提供 SQL 日期,它会将时间设置为午夜 - 00:00:00) .
如果您不想(或者如果您不能)更改数据库中的数据类型,那么在 C# 端,您至少可以确保将所有时间都规范化为午夜使用 ControlName.Value.Date
的日期时间选择器,其中 ControlName 是您的日期时间选择器控件的名称。 (将所有时间标准化为午夜可以使 SQL 当您真正需要的只是日期但又受困于日期时间数据类型时,查询编写更容易)
DateTime.Date 属性 在 .net 中: https://docs.microsoft.com/en-us/dotnet/api/system.datetime.date?view=netframework-4.7.2
我也有针对此问题的 C# 函数;
public String ArrangeDate (string S)
{
FirstPoint = S.IndexOf(".");
SecondPoint =S.IndexOf(".",FirstPoint+1);
S= S.Substring(SecondPoint+1,4) + "-" +S.Substring(FirstPoint+1,SecondPoint-FirstPoint-1)+ "-" + S.Substring(0,FirstPoint);
return S;
}
将 datetimepicker 文本发送到存储过程,如带有时间的 varchar 参数。 并像这样在 SP 中解析它
create SP
@Date varchar(50)
as
declare @DateX smalldatetime
select @DateX=Convert(smalldatetime,substring(@Date,7,4) +'-' + substring(@Date,4,2) +'-' + substring(@Date,1,2))