[resolu][ASP/SQL]débutant: pb de requête avec une date

Salut tout le monde,
je commence en asp (from scratch) et j’ai un problème tout bête.
Dans mon projet j’ai des dropdownlist avec choix:

  • emprunté il y’a moins d’une semaine
  • // il y’a moins d’un mois
  • etc…

je récupere le choix de l’utilisateur dans une variable emprunt de type date (ou string ca revient au même)
j’effectue ensuite cette requête:

[code]sql = « Select … FROM … WHERE …
date_emprunt >= cdate(# &emprunt& #) and … »

rs = New SqlCommand(sql, maconnect)
myreader = rs.ExecuteReader()

		DataGrid1.DataSource = myreader
		DataGrid1.DataBind()
		myreader.Close()
		maconnect.Close()[/code]

et bien sûr ca ne fonctionne pas. Si jécris la date en dur pas de soucis mais dès qu’elle est stockée dans une variable…
J’ai bien compris qu’il fallait convertir en date et j’ai donc essayé avec cdate (voir code plus haut) mais j’ai toujours un message d’erreur (erreur de conversation string to char où quelque chose comme ca…)

Un collègue m’a donné ce bout de code:

[code]Dim tempDate As String = emprunt.ToString.Substring(6, 4) & « - » & emprunt.ToString.Substring(3, 2) & « - » & emprunt.ToString.Substring(0, 2)

sql = sql & " emprunt >= CONVERT(DATETIME, ‹ " & tempDate & " 00:00:00 ›, 102) and…"[/code]

meme message d’erreur ou presque…

Quelle est la bonne syntaxe/bon code?
Pas tapé je débute en asp :stuck_out_tongue:

Merci pour vos réponses ! :stuck_out_tongue:

Quel est la forme des données dans ta dropdownlist?

Quel SGBD?

[quote=“BodySplash, post:2, topic: 28132”]Quel est la forme des données dans ta dropdownlist?

Quel SGBD?[/quote]

Sql server.
en fait, en fonction des choix effectués je créer une variable emprunt de type date et j’effectue une opération:
ex pour emprunt de moins d’ une semaine:
emprunt = DateAdd(“d”, -7, datejour) (où datejour est également une var date)

Je cherche à connaitre la syntaxe pour convertir correctement emprunt et effectuer une requête du genre:

sql = “select … from … where date_emprunt >= emprunt …”

?

Merci pour les réponses !

ok dans ce cas c’est tout bête.

sql = "SELECT * " & _ "FROM machin " & _ "WHERE date_emprunt >= GETDATE() - " & emprunt

Ou emprunt est donc le nombre de jours à retrancher.
Et voilà, tout est dit :stuck_out_tongue:

Pour reprendre ta synthaxe, c’est DATEADD(DAY, ton_écart, GETDATE())

[quote=« BodySplash, post:4, topic: 28132 »]ok dans ce cas c’est tout bête.

sql = "SELECT * " & _ "FROM machin " & _ "WHERE date_emprunt >= GETDATE() - " & emprunt

Ou emprunt est donc le nombre de jours à retrancher.
Et voilà, tout est dit :stuck_out_tongue:
Pour reprendre ta synthaxe, c’est DATEADD(DAY, ton_écart, GETDATE())[/quote]

Nickel, ca marche du tonnerre :stuck_out_tongue:

Merci BodySplash ! :stuck_out_tongue:

modifie ton titre pour mettre [resolu] :stuck_out_tongue: