c#实现按日期查询

weixin_50199980 2020-11-23 01:33:19
我想根据日期查询数据库的数据(七个表),使用了DataTimePicker控件,查询后显示到DataGridView中。表中的数据为datatime字段,精确到时分秒,想要的效果是根据开始时间和结束时间,可以查询以年月日的记录。我的语句是string sql = string,Format("select * FROM X WHERE Starttime = '{0}' and endtime = '{1}',datatimepickerstatr.value,datatimepickerend.value");sql语句应该需要转换格式,不知道怎么弄,希望各位帮忙解答!谢谢
...全文
4027 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_50199980 2020-11-25
  • 打赏
  • 举报
回复
大神们的回复都有帮助,想请教一下我要把这个按日期查出来的数据导出生成到excel文档中,然后导出时可以选择目标路径的功能我要怎么弄??
datafansbj 2020-11-24
  • 打赏
  • 举报
回复
说过很多次了,不要在代码里拼接 SQL,使用参数化查询才是正规的做法,可以避开很多问题。
生财 2020-11-24
  • 打赏
  • 举报
回复
你是用的什么数据库? oracle 需要进行数据类型转换 to_date(’2003-10-17 00:00:00’,’yyyy-mm-dd hh24:mi:ss’) 如果是SQL Server 直接 string.Format("select * from 表 where createtime > '{0}'",beginTime.ToString("yyyy-MM-dd")) 时间DateTime格式化方法 .ToString("yyyy-MM-dd")
正怒月神 2020-11-24
  • 打赏
  • 举报
回复
如果只是根据年月日查询。 那么就直接取datetime的年月日
string beginTime=DateTime.Now.ToShortDateString();
string sql=string.Format("select * from 表 where createtime > '{0}'",beginTime);
  • 打赏
  • 举报
回复
引用 7 楼 datafansbj 的回复:
说过很多次了,不要在代码里拼接 SQL,使用参数化查询才是正规的做法,可以避开很多问题。
拼接也没事, 处理好SQL注入问题就好了。 最好的还是存储过程。
  • 打赏
  • 举报
回复
这个没办法教, 这个死最简单的调试, 取出SQL语句 拿到数据库执行。 一下就知道问题所在,
泡泡鱼_ 2020-11-24
  • 打赏
  • 举报
回复
SQL查询可以这样拼接的么……就算要这样拼接,至少也要做安全校验吧。
w123wxh 2020-11-23
  • 打赏
  • 举报
回复
datatimepickerstatr.value.tostring("yyyy-MM-dd 00:00:00")和datatimepickerend.value.tostring("yyyy-MM-dd 23:59:59"),把日期格式改格式化一下,从0点开始查
ziqi0716 2020-11-23
  • 打赏
  • 举报
回复
你把这个sql打印出来看下结果,然后把这个sql语句复制下,拿到数据库客户端软件里面测试下
six2me 2020-11-23
  • 打赏
  • 举报
回复
先把你的sql字符串打印出来,然后在sql中执行这个字符串,看看报啥错误,然后在修正就ok了,这个是调试的基本技巧。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧