我在使用日期字段搜索數據時遇到問題。搜索日期的問題
我有一個存儲過程正在執行搜索:
ALTER PROCEDURE [dbo].[spSearchTraining]
(
@CourseName VARCHAR(50)= null,
@TrainingProvider VARCHAR(50)= null,
@TrainingCost VARCHAR(50) = null,
@StartDate Varchar(50) = null,
@EndDate Varchar(50)= null,
@RowCount int output
)
AS
BEGIN
SELECT * FROM vwTrainingDetails
WHERE (CourseName Like '%' + @CourseName +'%' or @CourseName is null)
AND (TrainingProvider Like '%' + @TrainingProvider + '%' or @TrainingProvider is null)
AND (Cost Like '%' + @TrainingCost +'%' or @TrainingCost is null)
AND ([Start Date] >= @StartDate or @StartDate is null)
AND ([Start Date] <= @EndDate or @EndDate is null)
select @[email protected]@ROWCOUNT
END
我通過我的參數如下:我有
//Create and add a parameter to Parameters collection for the stored procedure.
MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@CourseName", SqlDbType.VarChar, 40));
MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@TrainingProvider", SqlDbType.VarChar, 40));
MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@TrainingCost", SqlDbType.VarChar, 40));
MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@StartDate", SqlDbType.VarChar, 40));
MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@EndDate", SqlDbType.VarChar, 40));
//string mysdate = (StartTextBox.Text).ToString;
//Assign the search value to the parameter.
MyDataAdapter.SelectCommand.Parameters["@CourseName"].Value = (CourseTextBox.Text).Trim();
MyDataAdapter.SelectCommand.Parameters["@TrainingProvider"].Value = (ProviderTextBox.Text).Trim();
MyDataAdapter.SelectCommand.Parameters["@TrainingCost"].Value = (CostTextBox.Text).Trim();
MyDataAdapter.SelectCommand.Parameters["@StartDate"].Value = (StartTextBox.Text);
MyDataAdapter.SelectCommand.Parameters["@EndDate"].Value =(EndTextBox.Text);
問題是,當我運行的是存儲過程不會返回任何內容。 如果我註釋掉:
MyDataAdapter.SelectCommand.Parameters["@StartDate"].Value = (StartTextBox.Text);
MyDataAdapter.SelectCommand.Parameters["@EndDate"].Value =(EndTextBox.Text);
然後,它的工作原理,但沒有使用日期,以搜尋的能力。
當我從服務器執行存儲過程,並傳遞參數包括日期它工作正常。
有人可以幫助我,看看我做錯了什麼!!!?
感謝
:轉換這樣的:
要這樣:
同樣,如果你需要空,妥善處理了嗎? – 2012-04-17 02:49:13
您是否檢查過您傳遞的日期格式是正確的?他們應該是日期時間,而不是字符串 – jzm 2012-04-17 02:49:22
我已經嘗試使用日期時間,但它仍然不工作 – vitalix 2012-04-17 02:56:32