【问题标题】:VB.NET SQL date is changed format in queryVB.NET SQL日期在查询中更改格式
【发布时间】:2011-02-04 20:28:24
【问题描述】:

我有一个如下所示的日期变量:

     Dim LogDate As Date = Date.Today.AddDays(-1)

格式如下:#4/5/2010#

然后它作为 WHERE 子句进入 SQL 选择查询。当我调试时,查询已将其更改为“05/04/2010”。我希望它像声明时那样采用“04/05/2010”格式。关于我如何做到这一点的任何想法?

Hee 是查询:

 Dim sqlCmd As New SqlCommand("SELECT TOP (100) PERCENT tblBackup.BackupName, 
 tblBackupArchive.BackupDate, tblStatus.Status FROM tblStatus INNER JOIN tblBackupArchive ON 
 tblStatus.StatusID = tblBackupArchive.StatusID INNER JOIN tblBackup ON tblBackupArchive.BackupID      = 
 tblBackup.BackupID INNER JOIN tblClient ON tblBackup.ClientID = tblClient.ClientID WHERE      tblBackupArchive.BackupDate = '" & LogDate & "' AND (tblBackupArchive.StatusID = 3) ORDER BY 
 tblBackupArchive.BackupDate DESC", connection)

--琼斯

【问题讨论】:

  • 您的开发系统以何种文化运行?
  • 你是怎么把它放到查询中的?
  • 不知道如何检查文化对不起!

标签: vb.net datetime sqldatatypes


【解决方案1】:

最好的方法是在 where 子句中使用带有合适命名参数的 SQLCommand 对象 - 这会使日期文本表示的格式完全离题...

如果您使用的是 MS-SQL,另一种方法是使用以下格式的日期:

Where date = '20100504'

但在使用日期时要小心 - 请记住它们在幕后是 DateTimes...

马丁。

【讨论】:

  • 干杯这工作! Dim LogDate As String = Format(Today.AddDays(-1), "yyyyMMdd")
猜你喜欢
  • 2016-02-17
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
相关资源
最近更新 更多