Asp.net 存储过程:从字符串转换日期和/或时间时转换失败

Asp.net 存储过程:从字符串转换日期和/或时间时转换失败,asp.net,stored-procedures,devexpress,Asp.net,Stored Procedures,Devexpress,我得到一个错误: 从字符串转换日期和/或时间时,转换失败 我的存储过程: USE [DEMO] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[demo] @from_day varchar(20), @to_day varchar(20) AS BEGIN select db.* from db where convert(date,db.DateUse,103) between conver

我得到一个错误: 从字符串转换日期和/或时间时,
转换失败

我的存储过程:

USE [DEMO]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[demo] @from_day varchar(20), @to_day varchar(20)
AS
BEGIN
select db.*
from db
where
convert(date,db.DateUse,103) between convert(date, @from_day,103) and convert(date, @to_day,103)

END
我使用带有2个参数的ASPxDateEdit(DevExpress):

<dx:ASPxDateEdit ID="from_day" runat="server" ClientInstanceName="from_day" 
                        EditFormat="Custom" EditFormatString="dd/MM/yyyy"   Width="100px"  
                        Theme="Aqua"  > 
</dx:ASPxDateEdit>

<dx:ASPxDateEdit ID="to_day" runat="server" ClientInstanceName="to_day" 
                         EditFormat="Custom" EditFormatString="dd/MM/yyyy" Width="100px" 
                         Theme="Aqua"> 
</dx:ASPxDateEdit>

我使用SelectParameters:

<asp:SqlDataSource ID="SqlDataSourceGrid" runat="server" ConnectionString="<%$ ConnectionStrings:DEMOConn %>" SelectCommand="demo" SelectCommandType="StoredProcedure">
           <SelectParameters>
               <asp:ControlParameter ControlID="from_day" Name="from_day" PropertyName="Value" Type="String" />
               <asp:ControlParameter ControlID="to_day" Name="to_day" PropertyName="Value" Type="String" />
           </SelectParameters>
</asp:SqlDataSource>


我无法修复此错误。

您正在向SP中的datetime参数传递字符串。请将ControlParameters中的数据类型更改为datetime,或将SP中的字符串转换为datetime值。就我个人而言,我会改变控制参数。希望这有帮助

这是因为
转换(日期,从103天开始)和转换(日期,从103天开始)
,您能告诉我们,您是如何将参数传递给SP的吗?我使用SelectParameters:您的查询错误,您错过了表名,等等
选择*从表名开始,其中日期介于dat1和dat2之间
对不起,因为我编辑错了。我编辑了问题。更改类型=“日期时间”,