我目前正在尝试使用Select
类型的参数在我的SQL Server数据库中执行Datetime
。但是我需要这个参数只有YYYY-MM-DD
格式的日期,因为我正在使用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';";
我需要你们的帮助,我找不到任何可以执行此选择的方法
答案 0 :(得分:5)
您必须删除''
中的= '@adate'
。有了''
,它可以有效地将您的查询转换为:
select
idCliente, DescCliente, DescAnalista , StatusChamado , DataAtendimento
from Atendimento
where cast ([DataAtendimento] as date) = '@date';
这意味着将cast([DateAtendimento] as date)
与字符串'@date'
进行比较,从而将转换为日期错误。