如何解决在ASP.NET中运行查询时,在sql server 2008中将字符串转换为日期格式
|| 我正在使用SqlDataSource从表中提取信息,以便仅应将特定日期范围之间的记录显示在网格中。日期范围值是使用Jquery UI datepicker拾取的,该日期选择器将日期作为字符串返回。 现在的问题是,如何将字符串转换为日期格式,以便可以将其与数据库中输入的日期值进行比较。 我目前拥有的代码是:<asp:SqlDataSource ID=\"SqlDataSource2\" runat=\"server\"
ConnectionString=\"<%$ ConnectionStrings:LicensingConnectionString %>\"
SelectCommand=\"SELECT [School Name],[School City],[School State],LoginName,[Current Sales],Commission,[Pay Period start date],[Pay Period End date] FROM commissions WHERE ([Pay Period start date] <= @Txt_selected_start_date) AND ([Pay Period End date] <= @Txt_selected_end_date)\">
<SelectParameters>
<asp:parameter
Name=\"Txt_selected_start_date\" Type=\"String\" />
<asp:Parameter Name=\"Txt_selected_end_date\" Type=\"String\" />
</SelectParameters>
</asp:SqlDataSource>
其中Txt_selected_end_date和Txt_selected_start_date是文本框中的值,其中填充了jquery UI日期选择器中的日期。
任何意见或建议将是巨大的!
解决方法
您应该将参数的类型更改为datetime而不是字符串,以便比较数据库中的datetime值。否则,数据库将执行从字符串到日期时间的转换,因此您对其几乎没有控制权。
将日期选择器中的值发送回发回服务器中,例如,将其放置在隐藏字段中。然后在后面的代码中将字符串解析为DateTime值,并将这些值放入参数中。
,我从未使用过SqlDataSource,但这是如何在sql语句中完成的
您可以使用Cast或Convert在T-SQL中将字符串转换为日期。
以转换为例
Convert(Datetime,@Txt_selected_end_date,101)
最后一个参数是日期格式。 101是mm / dd / yyyy
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。