【问题标题】:Issues in SQl querying of data type Date in ASP.net gridviewASP.net gridview 中数据类型 Date 的 SQL 查询中的问题
【发布时间】:2013-03-12 05:16:41
【问题描述】:

这是我的 SQL 选择语句:

Select * from dbo.RAM

这是我在 SQL Server 中运行时的输出:

ID  Size    Date_Disposed
2   512mb   2013-02-01

为了填充gridview,我使用相同的sql select语句,代码如下:

  adapter = New SqlDataAdapter("Select * from dbo.RAM", con)
            adapter.Fill(ds)
            tbltemplate.DataSource = ds.Tables(0)
            tbltemplate.DataBind()

当我运行代码时,这是 gridview 的输出:

ID  Size    Date_Disposed
2   512mb   2/1/2013 12:00:00 AM

问题是日期的格式不同,并且有时间值。如何在 gridview 中防止这种情况发生?

【问题讨论】:

  • 你试过谷歌吗?
  • 是的,我找不到正确的答案。所以希望能在stackoverflow方面得到一些专家的帮助

标签: asp.net sql sql-server gridview datetime-format


【解决方案1】:

您可以像这样使用BoundField.DataFormatString Property

<asp:BoundField DataField="date" DataFormatString="{0:yyyy-MM-dd}" 
     HeaderText="Date_Disposed" />

这会给你一个输出:

2013-02-01

【讨论】:

  • 这对我不起作用,因为我的 gridview 数据字段不固定。
  • 你能发布gridview..吗?我不明白你在做什么。
  • 啊抱歉,好的,我将在这里解释一下,我有一个下拉列表,其中包含不同项目 (RAM) 的列表。我的 gridview 的填充取决于我将在下拉列表中单击的 RAM。项目 RAM 有不同的列,例如 RAM1 只有 size 和 date_disposed,而 RAM2 有 date_disposed、date_acquired 和 size。在您回答时,您设置了特定的边界字段,在我的情况下,我没有使用任何边界字段,我只是使用 SELECT 语句来填充我的网格视图,我没有使用固定的边界字段,因为列正在更改。希望你能理解。
  • 因此您可以对表(RAM)中的所有列使用BoundField,这样列中的更改不会影响结果。否则你需要做的是从选择查询本身格式化日期..
  • 是的,先生,我将解决选择查询,tnx :)
【解决方案2】:

你可以使用DataFormatstring DataFormatString

<asp:BoundField DataField="Date_Disposed" 
                    HeaderText="Disposed Date" 
                    DataFormatString="{0:d}" /> or {0:dd/mm/yyyy} pattern. check for the links for various patterns 

【讨论】:

    【解决方案3】:

    您可以通过sql手动格式化日期,

    SELECT  ID,
            Size,    
            convert(varchar(15), Date_Disposed, 111) AS DateDisposed
    FROM    dbo.RAM
    

    【讨论】:

    • 对不起,我忘了告诉你,我总是在选择时使用 *,因为列在变化,例如表 RAM 的列可能只包含大小。或大小、date_disposed 和 date_acquired。
    【解决方案4】:

    有日期时间格式。更多格式请参考链接Date time formatsSQL Server Date Formats。 试试

    SELECT ID, Size, CONVERT(nvarchar(20), Date_Disposed, 106) Date_Disposed FROM RAM
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2023-04-07
      相关资源
      最近更新 更多