DateTimePicker en Date Time
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:
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:
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:
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:
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