【问题标题】:how to insert only date into date datatype column database如何仅将日期插入日期数据类型列数据库
【发布时间】:2014-05-13 04:49:52
【问题描述】:

我想将日期插入数据库的列中。我有一个显示日期的标签。我之前将它插入到varchar 列中,但是当我对其进行排序时它显示不同的结果。这是使用varchar 时的结果:09/05/2014; 2014 年 4 月 20 日; 21/04/2014...等等...

我在插入日期类型列时得到这个结果:09/05/2014 00:00:00

代码如下:

dim DType as date = CDate(lbldate.Text)
Dim strcommand As String

Dim o As String
strcommand = "insert into tbBooth ([date2]) values (@ddate)"
Dim sqlcomm As New SqlCommand(strcommand, sqlcon)
sqlcomm.Parameters.Add("@ddate", SqlDbType.Date).Value = System.Convert.ToDateTime(Dtype)
o = sqlcomm.ExecuteNonQuery()

我希望它只存储日期,因为当我忽略时间并在我的程序中使用它时,它会给我带来不好的结果,比如 01/01/1914; 1936 年 1 月 1 日; 2002 年 1 月 1 日.....

提前谢谢....

【问题讨论】:

  • Bad habits to kick : choosing the wrong data type - 你应该始终使用最合适的数据类型 - 毕竟这就是它们的用途!因此,如果您想存储日期 - 使用 DATEDATETIME2(n) 列类型 - NOT varchar!
  • 这是一个约会。使用 Date 数据类型,而不是 varchar!
  • 已经。但它也存储了时间。我应该怎么做才能只存储不包括时间的日期?
  • @user3567963 如果您使用 ToDateTime() 方法,您应该期望得到一个日期时间值。如果您需要不同类型的值,请使用不同的方法。例如,ToDate() 可能是更好的选择。
  • 如果您使用的是 sqlserver 2008 及更高版本,则可以使用日期数据类型。 link

标签: sql sql-server vb.net


【解决方案1】:

对数据库中的列使用“日期”数据类型。 'datetime' 数据类型采用日期和时间。

【讨论】:

  • 你的意思是你的数据类型为日期,它仍然显示完整的日期时间??
  • 是的...它已经只存储了日期,但是当我调用它时,它同时显示日期和时间。
猜你喜欢
  • 2013-02-18
  • 1970-01-01
  • 2011-04-06
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多