日期:2014-05-17  浏览次数:20535 次

SQL SERVER数据库下字符串转换date失败……求高手帮帮忙%>_<%
string sqlstr = "select departure where startdate=convert'"+ DateDropDownList.Items + "'"转换失败呜呜
startdate在数据库表里面设置的是date类型,然后我就不知道要怎么做了……求知道的好心人指点……泪目……

------解决方案--------------------
你需求没有写清楚啊,而且startdate是datetime类型,convert是把时间转化为字符串,如CONVERT(VARCHAR(20),GETDATE(),110) ,你的意思是把字符串转化为时间的,用
cast( DateDropDownList.Items as datetime)
------解决方案--------------------
如果不特别要求效率
SQL SERVER数据库下字符串转换date是自动的,可以不写CONVERT
string sqlstr = "select departure where startdate='2013/01/01'"
我倒!LZ你的sqlstr怎么没FROM 呀
------解决方案--------------------
DateDropDownList.Items 能获取页面日期吗?
------解决方案--------------------
1: DateDropDownList.Items  这个存在问题,这个是不能取出值来的。你可以调试查看一下sqlstr 的值是什么?
2:如果空间的是时间格式的话,lz是不需要进行转换的这个sql自动会帮你转化。
string sqlstr = "select departure where startdate='"+ DateDropDownList.Items + "'"
如果最终结果是 select departure where startdate='2013-5-21' 这是没有问题的
------解决方案--------------------
楼主可以把 sqlstr 这句 SQL 语句输出来,然后复制到数据库的查询分析器看看会出什么结果,看看为什么查不出来,或者可以贴出来,大家研究一下
------解决方案--------------------
引用:
把日期查询改成这个样子and startdate='"+ DateDropDownList.SelectedItem.Text+ "'
倒是不提示转换错误,但是查询结果是空的,为什么呢?还是说这样写也是不对的?
PS:dropdownlist绑定了数据库的。

是不是你的数据库中日期的值是包含时分秒的,直接等于是有问题的
可以是 >DateDropDownList.SelectedItem.Text 并且是<DateDropDownList.SelectedItem.Text的日期+1就OK
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

把日期查询改成这个样子and startdate='"+ DateDropDownList.SelectedItem.Text+ "'
倒是不提示转换错误,但是查询结果是空的,为什么呢?还是说这样写也是不对的?
PS:dropdownlist绑定了数据库的。

是不是你的数据库中日期的值是包含时分秒的,直接等于是有问题的
可以是 >DateDropDownList.SelectedItem.Text 并且是<DateDropDownList.SelectedItem.Text的日期+1就OK

我发现好像是dropdownlist的文本获取不到,用其他的下拉框试了下发现不行……要怎么才能得到dropdownlist里面的文本啊?难道不是DateDropDownList.SelectedItem.Text么???求解答……

这个你搜索一下这个控件的用法吧,我也好久不用了