Datatable 正在从我为 Windows 10 构建的 VB.NET 应用程序中的 SQL 查询结果中接收 (01\dd\yyyy) 格式的日期

Posted

技术标签:

【中文标题】Datatable 正在从我为 Windows 10 构建的 VB.NET 应用程序中的 SQL 查询结果中接收 (01\\dd\\yyyy) 格式的日期【英文标题】:Datatable is receiving the date in (01\dd\yyyy) format from SQL query result in VB.NET application that I'm building for windows 10Datatable 正在从我为 Windows 10 构建的 VB.NET 应用程序中的 SQL 查询结果中接收 (01\dd\yyyy) 格式的日期 【发布时间】:2019-02-02 08:09:05 【问题描述】:

我是 VB.net 和这个论坛的新手。我正在移植 VB 应用程序以与 Windows 10 兼容。数据表结果显示日期不正确,日期以 '01\dd\yyyy' 的格式显示,月份正确到来,而日期和年份不正确。我附上了数据集可视化工具供您参考。

相同的代码在 Windows 7 中可以正常工作,但在 Windows 10 中无法正常工作。如果我需要任何输入,请告诉我。

我尝试过的:

我尝试将数据表更改为数据集,但没有成功。

Public Function GetIntegrationLogs( _
               ByVal FileType As String, _
               ByVal dtFrom As Date, _
              ByVal dtTo As Date) As DataTable

    Try

如果是 ORACLE 那么

        Dim dtSC As New DataTable
        Dim adaptSC As New OracleDataAdapter

        'Dim myCommand As New OracleCommand("GetIntegrationLogs", deCCAS.Connection)
        'myCommand.CommandType = CommandType.StoredProcedure
        'myCommand.Parameters.Add("v_FileType", FileType)
        'myCommand.Parameters.Add("v_StartDate", dtFrom)
        'myCommand.Parameters.Add("v_EndDate", dtTo)

        'reader = 

        Dim objCommand As New OracleCommand("GetIntegrationLogs", deCCAS.Connection)
        adaptSC.SelectCommand = objCommand
        Dim sysRefCursor As New OracleParameter
        With sysRefCursor
            .OracleDbType = OracleDbType.RefCursor
            .Direction = ParameterDirection.Output
        End With
        With objCommand
            .CommandType = CommandType.StoredProcedure
            .Parameters.Add("v_FileType", FileType)
            .Parameters.Add("v_StartDate", dtFrom)
            .Parameters.Add("v_EndDate", dtTo)
            .Parameters.Add(sysRefCursor)
        End With

        Dim da As OracleDataAdapter = New OracleDataAdapter(objCommand)
        adaptSC.Fill(dtSC)

image of data visualizer

【问题讨论】:

请出示您的代码,否则此问题将因缺少正确的minimal reproducible example而被关闭 附带说明,DD/YYYY 的显示似乎暗示了不正确的屏蔽格式。日期以小写 d 显示,年份以小写 y 显示 存储过程使用的 Oracle 表中包含日期的两列的数据类型是什么?并且在使用参数时始终指定参数的数据类型而不仅仅是值 嗨史蒂夫,两列的数据类型是“日期” 这不仅仅是一个程序,它与所有程序相同,所有使用它们的屏幕都以 DD\YYYY 格式显示日期。如果我在 Windows 7 中调试 VB 应用程序,使用相同的代码,我就能看到正确的结果 【参考方案1】:

Windows 10 的默认日期格式是 m\d\yyyy,因此我遇到了不正确的日期格式。修改win10操作系统默认日期格式后,问题已解决。

【讨论】:

以上是关于Datatable 正在从我为 Windows 10 构建的 VB.NET 应用程序中的 SQL 查询结果中接收 (01\dd\yyyy) 格式的日期的主要内容,如果未能解决你的问题,请参考以下文章

jquery datatable 未将宽度应用于表

将 DataTable 保存到数据库表中

DataTable可视化工具从我的Visual Studio中消失了

Datatable如何将数据从输入传递到控制器

Primefaces 动态列不适用于延迟加载

Jquery DataTable 删除分页