Bonjour a tous,

Alors voila je développe une application un peu comme un moteur de recherche qui met les informations dans un datagridview.
Dans ce moteur de recherche je vais chercher des informations entre 2 dates que je sélectionne grâce a DateTimePicker.
Mon problème est qu'il faudrait que je convertisse le DateTimepicker en DateTime pour que ma base "comprenne" ce que je veux faire

Voila les 2 DateTimePicker passer en paramètre parmi d'autres

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
myCommand.Parameters.Add("@DATEBEGIN", SqlDbType.DateTime).Value = UserControl_Date1.DateTimePicker_BeginSearch
        myCommand.Parameters.Add("@DATEEND", SqlDbType.DateTime).Value = UserControl_Date1.DateTimePicker_EndSearch
Ici ca me mettait une erreur de convertion j'ai donc rajouté "value"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
myCommand.Parameters.Add("@DATEBEGIN", SqlDbType.DateTime).Value = UserControl_Date1.DateTimePicker_BeginSearch.value
        myCommand.Parameters.Add("@DATEEND", SqlDbType.DateTime).Value = UserControl_Date1.DateTimePicker_EndSearch.value
Et la au moment de lire ma procedure j'ai l'erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   myReader = myCommand.ExecuteReader()
        Do While myReader.Read() 'Conversion failed when converting datetime from character string.
 
            DataGridView_Log.Rows.Add()
 
            DataGridView_Log(0, X).Value = myReader.GetValue(0)
            DataGridView_Log(1, X).Value = myReader.GetValue(1)
            DataGridView_Log(2, X).Value = myReader.GetValue(2)
            DataGridView_Log(3, X).Value = myReader.GetValue(3)
            DataGridView_Log(4, X).Value = myReader.GetValue(4)
            DataGridView_Log(5, X).Value = myReader.GetValue(5)
            DataGridView_Log(6, X).Value = myReader.GetValue(6)
 
            X = X + 1
        Loop
 
        myReader.Close()
        Connect.Close()
Voila ma procedure stocké
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
ALTER  PROCEDURE [dbo].[PS_LOG_Viewer] (
	@APPLICATION NVARCHAR(MAX),
	@AREA NVARCHAR(MAX),
	@ACTION NVARCHAR(MAX),
	@SUBACTION NVARCHAR(MAX),
	@USERID UNIQUEIDENTIFIER,
	@SESSIONID UNIQUEIDENTIFIER,
	@DATEBEGIN DATETIME,
	@DATEEND DATETIME)
AS
 
SELECT  RAP.[APPLICATION],RA.[AREA], RAC.[ACTION], RS.[SUBACTION], AL.[USERID], AL.[SESSIONID],AL.[ACTIONLOG_TIMESTAMP]
FROM T_ACTION_LOG AL
JOIN [T_REF_AREA] RA ON RA.AREAID = AL.[AREAID]
JOIN [T_REF_ACTION] RAC ON RAC.ACTIONID = AL.[ACTIONID]
JOIN [T_REF_SUBACTION] RS ON RS.SUBACTIONID = AL.[SUBACTIONID]
JOIN [T_REF_APPLICATION] RAP ON RAP.APPLICATIONID = AL.[APPLICATIONID]
WHERE ([AREA] LIKE '%' + @AREA + '%' OR @AREA IS NULL)
AND ([ACTION] LIKE '%' + @ACTION + '%' OR @ACTION IS NULL)
AND ([SUBACTION] LIKE '%' + @SUBACTION + '%' OR @SUBACTION IS NULL)
AND ([APPLICATION] LIKE '%' + @APPLICATION + '%' OR @APPLICATION IS NULL)
AND ([USERID] LIKE CAST(@USERID AS NVARCHAR(50)) OR @USERID IS NULL)
AND ([SESSIONID]LIKE CAST(@SESSIONID AS NVARCHAR(50)) OR @SESSIONID IS NULL)
AND ([ACTIONLOG_TIMESTAMP] BETWEEN  '%' + @DATEBEGIN + '%' AND '%' + @DATEEND + '%')
ORDER BY AL.ACTIONLOG_TIMESTAMP DESC
J'ai cherché sur msdn ainsi que sur le forum et je n'ai rien trouvé semblable a ce que je souhaite faire

Cordialement

Carmel_O