目前,我的所有结果都会返回“0”。
我做错了什么?
如果有帮助,当前代码会从SQL命令查询创建数据表,然后分别查看每一行以获取每个日期的差异。
当前代码:
Dim Con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=ApplicationData.accdb;Persist Security Info=False;") Con.Open() 'Open the connection Dim strCommand As String = "SELECT fDateAdded, fName FROM Films" Dim SQL As New OleDb.OleDbCommand(strCommand, Con) Dim DataAdapter As New OleDb.OleDbDataAdapter(SQL) Dim DataTable As New DataTable("Films") ' Create a new data table structure DataAdapter.Fill(DataTable) ' Fill the data table structure from the information in the database. For Each row As DataRow In DataTable.Rows MessageBox.Show(DateDiff(DateInterval.Day, row.Item("fDateAdded"), Now)) Next row Con.Close()
答案 0 :(得分:1)
我认为你需要将你的日期作为日期......
MessageBox.Show(DateDiff(DateInterval.Day, CDate(row.Item("fDateAdded")), Now)
此外,我还没有尝试过,但是请继续使用DateInterval.WeekOfYear,这可能会在几周内给你带来差异,但这可能是最多6天的任何事情。需要一些测试才能看到结果。
答案 1 :(得分:0)
您应该可以使用“w”或dateinterval.weekday
MessageBox.Show(DateDiff(DateInterval.weekDay, CDate(row.Item("fDateAdded")), Now)
或者
MessageBox.Show(DateDiff("w", CDate(row.Item("fDateAdded")), Now)
http://msdn.microsoft.com/en-us/library/b5xbyt6f(v=vs.90).aspx