0

嗨,我正在从下面的函数执行一个存储过程。在所有日期,我在数据表中都在 19:12:2012 00:00:00 结束时获得时间。该列在数据库中定义为 Date 并在 SP 中返回为 Date。为什么我在日期结束时得到 00:00:00?

谢谢。

示例代码。

    Dim dt As New DataTable
    Dim da As New SqlDataAdapter
    Dim con As New SqlConnection(_conString)
    Dim SelectCommand As New SqlCommand()

        With SelectCommand                

            .Parameters.Add(New SqlParameter(_strAcademicYear, SqlDbType.Int))
            .Parameters(_strAcademicYear).Value = _AcademicYear

            .CommandText = "[Teacher].[GetDate]"
            .CommandType = CommandType.StoredProcedure
            .Connection = con
        End With

        da.SelectCommand = SelectCommand
        con.Open()
        da.Fill(dt)
        con.Close()
4

1 回答 1

5

因为在您的数据表中,它是一个DateTime. 只有日期没有 CLR 类型。未指定时间的日期的默认时间是午夜 - 00:00:00。

你可以为你的gridview使用列数据格式,我假设 - 没有使用过一个 - 正确输出你想要显示的数据。

就像是

<asp:boundfield datafield="date"
    dataformatstring="{0:YYYY-MM-DD}"
    htmlencode="false" />

并将格式字符串替换为您希望它看起来像的任何内容,当然。=)

(标签已根据 chridam 的评论更新)

于 2012-09-11T10:31:28.670 回答