2017-02-28 20 views
0

我的第一次约会我的系统计算到期的与SQL

HELP ME WITH THIS LOGIC

,你可以在这里看到我的第一次询问如何将我说,我的EXPDATE表等于这个电流做一个日期计算日期?那么如果是这样msgbox我“你的项目已过期”

我的第二个查询我想设置一个msgbox在我的expdate三个月前msgbox我?

继承人什么,我试图做

cn.Open() 
Dim query As String 
query = "Select * from tblmeds where TIMESTAMPDIFF(MONTH,`expdate`,CURRENT_TIMESTAMP())< 1" 
command = New MySqlCommand(query, cn) 
readers = command.ExecuteReader 

Dim count As Integer 
count = 0 
While readers.Read 
    count = count + 1 
End While 

cn.Close() 

If count = 1 Then 
    msgbox "you have a expired items" 
else 
    "no items are at risk" 

PS:我目前使用phpMyAdmin作为我的数据库

+2

请不要发布代码图片 - 我们无法对图片进行任何操作。将实际代码粘贴到您的问题中... – Siyual

+2

您使用的是哪个数据库?还提供样本数据和期望的结果。 –

+0

GETDATE()适用于MS SQL Server。 current_date for Postgresql。 SYSDATE for Oracle, NOW()for MySQL –

回答

1

假设的SQL Server ...

减去到期日3个月比较(如果涉及多个时区),否则您可以使用getDate()

SELECT EXPDATE 
FROM tblMeds 
WHERE Dateadd(Month, -3,expDate) < = getutcdate() 
+0

它的PHPMYADMIN,我认为这是SQL的权利? – VAN

0

如果你改变你查询到

query = "Select count(*) as cnt from tblmeds where TIMESTAMPDIFF(MONTH,`expdate`,CURRENT_TIMESTAMP())< 1" 

那么你就不需要一看就计算行数,服务器可以做到这一点这是更快。