SQL 服务器中的 C# Select 仅使用带 sql 参数的日期
C# Select in SQL Server just using the Date with sql parameters
我目前正在尝试使用 Datetime
类型的参数在我的 SQL 服务器数据库中执行 Select
。但是我需要这个参数只有 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';";
我需要你们的帮助,我找不到任何可以执行此操作的方法 select
您必须删除 = '@adate'
中的 ''
。使用 ''
,它有效地将您的查询变成:
select
idCliente, DescCliente, DescAnalista , StatusChamado , DataAtendimento
from Atendimento
where cast ([DataAtendimento] as date) = '@date';
这意味着 cast([DateAtendimento] as date)
与字符串 '@date'
进行比较,因此转换为日期错误。
我目前正在尝试使用 Datetime
类型的参数在我的 SQL 服务器数据库中执行 Select
。但是我需要这个参数只有 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';";
我需要你们的帮助,我找不到任何可以执行此操作的方法 select
您必须删除 = '@adate'
中的 ''
。使用 ''
,它有效地将您的查询变成:
select
idCliente, DescCliente, DescAnalista , StatusChamado , DataAtendimento
from Atendimento
where cast ([DataAtendimento] as date) = '@date';
这意味着 cast([DateAtendimento] as date)
与字符串 '@date'
进行比较,因此转换为日期错误。