【问题标题】:How to set dynamically the correct Dateformat in VB for SQL Query如何在 VB 中为 SQL 查询动态设置正确的日期格式
【发布时间】:2013-03-20 09:02:27
【问题描述】:

您好,我有一个使用日期格式的 sql 查询。此代码将在不同的服务器上运行,但每个服务器都有不同的日期格式。有时是 yyyy-MM-dd,有时是 yyyy-dd-MM。 我试图阅读用户语言来选择正确的查询。但它不能正常工作。 你知道解决我的问题的任何其他好的解决方案吗?

提前致谢

 Dim Systemsprache as String 
 Systemsprache = Request.UserLanguages(0)
 If String.Compare(Systemsprache, "de-DE") = 0 Then
                sqlcmd = "SELECT convert(varchar(8) , [VON],108) as [VON]  ,convert(varchar(8) , [BIS],108) as [BIS] FROM [RESERVIERUNGRAUM]  where RAUM_ID =" + hCurrRaumID.Value + " and VON >='" + Date.Parse(wiDateVON1.Value).ToString("yyyy-MM-dd") + "' and BIS <'" + Date.Parse(wiDateVON1.Value).AddDays(1).ToString("yyyy-MM-dd") + "'"

            Else
                sqlcmd = "SELECT convert(varchar(8) , [VON],108) as [VON]  ,convert(varchar(8) , [BIS],108) as [BIS] FROM [RESERVIERUNGRAUM]  where RAUM_ID =" + hCurrRaumID.Value + " and VON >='" + Date.Parse(wiDateVON1.Value).ToString("yyyy-dd-MM") + "' and BIS <'" + Date.Parse(wiDateVON1.Value).AddDays(1).ToString("yyyy-dd-MM") + "'"
            End If

【问题讨论】:

  • 你的列在数据库中的数据类型是什么?您是否将日期存储为字符串?

标签: asp.net sql vb.net visual-studio-2008 date-format


【解决方案1】:

如果我没记错的话,无论服务器默认日期格式如何,您都可以使用通用格式“#yyyy-mm-dd#”。

【讨论】:

  • +1 这是我在所有 .NET 应用程序中将它用于我的日期的方式,非常有效。
  • 不,您可以直接将这样的日期常量与日期字段进行比较。微软在这里提出了不同的建议msdn.microsoft.com/en-us/library/ms191307.aspx
猜你喜欢
  • 1970-01-01
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-03-05
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
相关资源
最近更新 更多