Date类型的SQL列随时间而来

时间:2011-04-24 19:47:17

标签: c# sql sql-server sql-server-2005 tsql

您好,我有一个适用于DB的应用程序。我有一个表,其中一列是Date类型,在DB中它很好。如果我对相关表格进行查询,该表格将仅显示该列中没有时间的日期。

但是当我将这个表放入我的应用程序并将其放入DataTable时会出现问题。当我这样做时,Date类型的列将具有Date但是具有Time并且在所有日期中都会出现例如这样的(24-04-2011 00:00:00)。如果DB中的Column类型是Date?

,这怎么可能呢?

我在服务器端使用MS SQL Server,在App端使用C#。

提前致谢!

3 个答案:

答案 0 :(得分:3)

您必须格式化列的值。方式因您使用的控件而异。

DataGridView有一个DataGridViewColumn的集合。 DataGirdViewColumn具有DataGridViewCellStyle类型的属性,该属性本身具有名为string的{​​{1}}属性。您必须为Format属性指定一个值,以格式化列中显示的值。在您的情况下,要分配的适当值是“d”

您可以在设计时或运行时为所提及的属性指定值。


仅供参考:

SQL Server 具有Date数据类型,只能在没有时间的情况下获取日期值。

C#只有一个DateTime数据类型,其中包含日期部分和时间部分。 C#中没有单独的日期或时间数据类型。但是,您可以分别使用DateTime.ToShortDateStringDateTime.ToShortTimeString将日期部分或时间部分作为字符串。

答案 1 :(得分:2)

C#中日期的数据类型是DateTime,它总是带有时间。您可以忽略时间,因为它是无关紧要的(并且总是00:00:00,就此而言)。

答案 2 :(得分:0)

虽然SQL Server中有date类型,但.NET框架中没有这样的东西itsekf。因此,它使用更近的任何东西,恰好是DateTime

总而言之,这只是一个简单的演示问题:只需格式化你的输出属性,你就可以了。