C#。net某时间段内的数据查询

我写的查询代码:select*fromXX表where时间between'"+TextBox1.Text+"'%y'"+DropDownList6+"'%Mand'"+T... 我写的查询代码:select * from XX表 where 时间 between '" + TextBox1.Text + "' %y '" + DropDownList6 + "' %M and '" + TextBox4.Text + "' %y '" + DropDownList8 + "' %M
时间的数据类型为DATETIME,问要怎么改才能让它正确。
展开
 我来答
斯内科Snake
推荐于2016-03-06 · TA获得超过523个赞
知道小有建树答主
回答量:707
采纳率:50%
帮助的人:236万
展开全部
你这样:
string sql=string.Format(
"select * from XX表 where 时间 between '{0}' and '{1}'",
new DateTime(int.Parse(TextBox1.Text), int.Parse(DropDownList6.SelectedValue),1).ToString("yyyy-MM-dd 00:00:00"),
new DateTime(int.Parse(TextBox4.Text), int.Parse(DropDownList8.SelectedValue),GetMaxDay(int.Parse(TextBox4.Text), int.Parse(DropDownList8.SelectedValue))).ToString("yyyy-MM-dd 23:59:59"))

//函数--获得某年某月的最大天数
public int GetMaxDay(int year,int month) {
bool isLeap=DateTime.IsLeapYear(year);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
return isLeap?29:28;
default:
return 0;
}
}
追问
试过了,还是不对
追答
你思路是不是查询 2012年1月  到 2013年4月
你把它转换为 2012-01-01 00:00:00 与 2013-04-30 23:59:59之间
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唔没身4
2014-02-21 · 超过16用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:38.2万
展开全部
select * from XX表 where 时间 between '2012-1-10' and '2013-1-10' 这个格式没错 你查年月 就把 日 都改成 1 不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戴永辉oV
推荐于2018-05-06 · TA获得超过113个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:44.6万
展开全部
先取到时间值,拼成string,强转DateTime,不然数据库无法比较
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天池月下
2014-02-21 · 超过15用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:33.6万
展开全部
把条件改成如下格式就可以了
where 时间 between '2010/1'+"%y-%M" and '2014/12'+"%y/%M"
更多追问追答
追问
试过了不行
追答
不好意思啊 有点写错了 
其中"%y-%M"改成%y/%M"
改成如下
where 时间 between '2010/1'+"%y/%M" and '2014/12'+"%y/%M"

下面这种方法我测试过的
你把你写的完整的贴出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
funlove999
2014-02-21 · 超过35用户采纳过TA的回答
知道答主
回答量:172
采纳率:0%
帮助的人:130万
展开全部
没说数据库类型,不好给具体脚本,但是必须将string,强转DateTime
追问
就像上图那样的4个Text分别表示年月年月(string),数据表是datetime,我知道要强制转换,但就是这里一直错
追答
你用给的ylq1045  方法可以啊,没必要你输入年后再加 y m y m的,那太麻烦了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式