데이터베이스에있는 모든 열 또는 하나의 열을 검색해야하는 웹 사이트에 검색 양식이 있습니다. 다음 저장 프로 시저가 있고 datetime에 문제가 있습니다. null이되도록 어떻게합니까?저장 프로 시저, 날짜/시간
이 문제는 저장 프로 시저와 i codebehind C#에서 모두 발생합니다.
희망을 보내주세요.
ALTER PROCEDURE [dbo].[SearchPostit] (
@message varchar(1000)='',
@writer varchar(50)='',
@mailto varchar(100)='',
@date Datetime) AS
SELECT P.Message AS Postit,
P.Mailto AS 'Mailad till',
P.[Date] AS Datum ,
U.UserName AS Användare
FROM PostIt P LEFT OUTER JOIN
[User] U ON P.UserId=U.UserId
WHERE P.message LIKE '%'[email protected]+'%' AND P.Mailto LIKE '%'[email protected]+'%'
AND P.Date LIKE '%'[email protected]+'%' AND U.UserName LIKE '%'[email protected]+'%'
GROUP BY P.Message, P.Mailto, P.[Date], U.UserName
검색 버튼을 클릭하면 내 코드 숨김입니다. 하지만 텍스트 상자에 날짜가 없으면 errormessage가 있습니다 .... Postit p = new Postit(); DateTime dt = DateTime.Parse (TextBoxDate.Text); p.SearchPostit (TextBoxMessage.Text, TextBoxWriter.Text, TextBoxMailto.Text, dt); 내가 제대로 이해하면 (P.Date LIKE.... OR @date IS NULL)
같은 것을 갖고 싶어
이것은 내 저장 프로 시저에서 작동하지만 codebehind에서 할 것입니다 ... datetime에 대한 textbox가 비어있을 때 ... datetime에 대해 null을 허용하지 않습니까? –
검색 버튼을 클릭하면 내 코드 숨김입니다. 그러나 날짜가 텍스트 상자에 없으면 오류가 발생합니다 .... Postit p = 새 Postit(); DateTime dt = DateTime.Parse (TextBoxDate.Text); p.SearchPostit (TextBoxMessage.Text, TextBoxWriter.Text, TextBoxMailto.Text, dt); –
원래의 질문에 코드를 추가하는 것이 더 좋을 수 있으므로 눈에 띄지 않게하십시오. –