我有一个搜索表单在一个网站,我必须做所有或一列到数据库的搜索。我有以下存储过程,并有日期时间的问题。我将如何做,让它为空?存储过程,日期时间
我在存储过程和我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);
这适用于我的存储过程,但我会在代码隐藏....当日期时间的文本框是空的...它不接受null日期时间? – 2010-02-12 08:30:45
这是我点击搜索按钮时隐藏的代码。但是,如果在文本框中没有日期,我会收到errormessage .... Postit p = new Postit(); DateTime dt = DateTime.Parse(TextBoxDate.Text); p.SearchPostit(TextBoxMessage.Text,TextBoxWriter.Text,TextBoxMailto.Text,dt); – 2010-02-12 08:35:24
可能会更好地将代码添加到您的原始问题,以便它不会被忽视。 – 2010-02-12 08:38:34