2016-04-28 15 views
3

Datetimeタイプのパラメータを使用して、現在SQL Serverデータベース内で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'。これはcast([DateAtendimento] as date)は、文字列'@date'、日付のエラーすることは、変換と比較されることを意味し

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

:代わりに''では、それが効果的にあなたのクエリをオンにします。

+0

それはまさに何が起こっていたのか、私は時間を研究していたとは思っていませんし、問題のことを考えて日付を変換しようとしています。 –

関連する問題