У меня есть форма поиска на веб-сайте, где я должен выполнить поиск во всех или в одном столбце базы данных. У меня есть следующая хранимая процедура и проблема с datetime. Как сделать, чтобы он был пустым?Сохраненная процедура, datetime
У меня проблема с этим как в хранимой процедуре, так и в коде 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
Это мой код при нажатии кнопки поиска. Но я получил ошибку, если в текстовом поле нет даты ... Postit p = new Postit(); DateTime dt = DateTime.Parse (TextBoxDate.Text); p.SearchPostit (TextBoxMessage.Text, TextBoxWriter.Text, TextBoxMailto.Text, dt);
Это работает в моей хранимой процедуре, но я буду делать в кодебе .... когда текстовое поле для datetime пустое ... оно не принимает значение null для datetime? –
Это мой код при нажатии кнопки поиска. Но я получил ошибку, если в текстовом поле нет даты. Postit p = new Postit(); DateTime dt = DateTime.Parse (TextBoxDate.Text); p.SearchPostit (TextBoxMessage.Text, TextBoxWriter.Text, TextBoxMailto.Text, dt); –
может быть лучше добавить код в исходный вопрос, чтобы он не остался незамеченным. –