2012-04-02 16 views
0

Ich habe versucht, die Seite "Neueste Produkte" für ein eShop-Projekt zu erstellen, an dem ich gerade arbeite. Im Grunde möchte ich eine Anzahl von Produkten, sagen wir 10, aus einer Tabelle in meiner Datenbank zeigen, die in meiner Datenbank in den letzten 30 Tagen oder weniger hinzugefügt wurde.Erstellen eines eShops "Neueste Produkte"

Zuerst habe ich versucht, die GridView-Funktion in VB.NET zu verwenden, wo es die Tabelle automatisch auffüllt, aber nicht begrenzt werden kann, und dann habe ich diese SQL-Anweisung versucht, die nicht funktioniert und mir einen Fehler gibt.

SELECT * 
FROM Product 
WHERE DateAdded > (SELECT DATEADD(d,-30,(SELCT MAX(DateAdded) FROM Product)) AS "Last 30 Products Added"); 
ORDER BY DateAdded DESC 

Meine Datenbank hat eine Tabelle 'Produkt' genannt, die verschiedene Spalten:

  • ProductID
  • CategoryID
  • ProductModelNo
  • product
  • Product
  • Unitname
  • ProductActive
  • DateAdded

Jede Idee, wie ich das Problem lösen kann?

Antwort

0

Sie suchen nach der DATEDIFF-Funktion, um DateAdded mit NOW() zu vergleichen.

+0

Können Sie das bitte erklären? – Brian

+0

Etwas wie 'SELECT * FROM Produkt WHERE DATEDIFF (Tag, DateAdded, NOW()) <= 30 ORDER BY DateAdded DESC' –

+0

Ahh Ok, ich werde in die DateDiff-Funktion schauen .. Danke! Eine letzte Frage, wäre es praktischer, die eingebaute DateDiff-Klasse von vb.net zu verwenden? – Brian