2016-04-28 71 views
3

我目前正在嘗試在我的SQL Server數據庫中使用Datetime類型的參數執行Select。但我需要這個參數只因爲在SQL下面的查詢我使用的格式YYYY-MM-DD日期和它的工作:C#在SQL Server中選擇僅使用帶有SQL參數的日期

select 
    idCliente, DescCliente, DescAnalista , StatusChamado , DataAtendimento 
from 
    Atendimento 
where 
    cast ([DataAtendimento] as date) = '2016-04-27'; 

我看了幾個帖子,表明我使用DbType.ToString但運行它產生時錯誤指出未能將字符串轉換爲日期/時間格式。

這是我如何使用SqlParameter

DateTime date; 
date = Data; 

try 
{ 
    sqlClient.Command.Parameters.AddWithValue("@adate", date); 
    sqlClient.Command.CommandText = @" select idCliente, DescCliente, DescAnalista , StatusChamado , DataAtendimento from Atendimento where cast ([DataAtendimento] as date) = '@adate';"; 

我需要你們的幫助,我沒有找到一個可以執行此選擇

+4

刪除'='@adate';'中的''''。 –

+0

我不能相信我因爲這些引用而被捕了幾個小時,它工作得很好,謝謝 –

+0

我們都去過那裏。 =) –

回答

5

任何意味着你必須刪除''= '@adate'。隨着地方'',它有效地把你的查詢到:

select 
    idCliente, DescCliente, DescAnalista , StatusChamado , DataAtendimento 
from Atendimento 
where cast ([DataAtendimento] as date) = '@date'; 

這意味着cast([DateAtendimento] as date)是對字符串'@date',從而轉化爲日期錯誤比較。

+0

這正是發生了什麼事情,我不認爲我是幾個小時的研究,並試圖將日期轉換爲思考問題的原因,謝謝你的幫助 –

相關問題