我在我的代碼中有一個DateTime
組件,我想用它在我的SQL Server數據庫中進行查詢。從.NET的DateTime到SQL中的smalldatetime - 如何查詢?
插入此組件時,似乎沒有問題,但在查詢smalldatetime
值時,我只是不知道該怎麼做。數據集總是空的。
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ReadDates";
dataset = new DataSet();
SqlParameter parameter = new SqlParameter("@date", SqlDbType.SmallDateTime);
parameter.Value = DateTime.Now();
cmd.Parameters.Add(parameter);
dataAdapter = new SqlDataAdapter(cmd);
dataAdapter.Fill(dataset);
return dataset;
而且這是在我的存儲過程:
select * from TableDates
where ValueDate <= @date
所以我必須運行在SQL Server Management Studio中的程序沒有問題,進入此格式的參數時:'2000-03-03 04:05:01'
,但路過時, DateTime
,查詢總是空的。有什麼建議麼?
你能證明你的*完整的價值*存儲過程聲明,包括參數聲明? –
或者,如果您使用的是SQL 2012,則可以'爲'ValueDate'和@ @ date'CAST(@DATE AS DATE)'確保時間組件被剝離。 –
@ CR41G14:這可能是最糟糕的**建議!如果你有'DateTime' - 你應該儘可能地使用**本地**日期/時間數據類型**避免**來回轉換爲字符串! –