C#从SQL Server数据库查询选定日期范围内的相关数据—DateTimePicker控件

利用两个DateTimePicker控件来选定一个日期范围作为查询条件,从数据库中获取这段时间内的数据

一、SQL语句使用between and来查询选定日期范围内的相关数据

效果展示:
在这里插入图片描述
实现代码:

        // SQL语句使用between and,查询选定日期范围内相关数据
        private void btnSearch_Click(object sender, EventArgs e)
        {
            //连接sql server数据库           
            string connString = "server=.;database=TBWRIMS;uid=test;pwd=test;connect timeout=5";
            SqlConnection pSqlConnection = new SqlConnection(connString); 
            pSqlConnection.Open();

            string sql = "select * from TH5 where date between'" + dtpStart.Value.ToString("yyyy-MM-dd") + "'" +
                         "and'" + dtpEnd.Value.ToString("yyyy-MM-dd") + "'";
            SqlDataAdapter pSqlDataAdapter = new SqlDataAdapter(sql,connString);
            DataSet pDataSet = new DataSet();
            pSqlDataAdapter.Fill(pDataSet);
            DataTable pDataTable = pDataSet.Tables[0];
            //自定义datagridview列名
            pDataTable.Columns[0].ColumnName = "日期";
            pDataTable.Columns[1].ColumnName = "站点";
            pDataTable.Columns[2].ColumnName = "水位(米)";
            //绑定数据源
            dgv.DataSource = pDataTable;

            pSqlConnection.Close();
        }

二、SQL语句使用datediff函数来查询选定日期范围内的相关数据

效果展示:
在这里插入图片描述
实现代码:

        //SQL语句使用datediff函数,查询选定日期范围内相关数据
        private void btnSearch2_Click(object sender, EventArgs e)
        {
            //获取DateTimePicker日期
            DateTime dts = Convert.ToDateTime(dtpStart.Text);
            DateTime dte = Convert.ToDateTime(dtpEnd.Text);

            //连接sql server数据库           
            string connString = "server=.;database=TBWRIMS;uid=test;pwd=test;connect timeout=5";
            SqlConnection pSqlConnection = new SqlConnection(connString);
            pSqlConnection.Open();            

            //根据获得的日期参数,查找出指定日期范围内的数据,其中date为数据库字段名称。
            string sql = "select * from TH5 where datediff(day,@dts,date)>=0"
                        +"and datediff(day,date,@dte)>=0";            
            SqlParameter[] sp = new SqlParameter[]{
                new SqlParameter("@dts",dts),
                new SqlParameter("@dte",dte)
            };
            SqlDataAdapter sda = new SqlDataAdapter(sql, connString);
            sda.SelectCommand.Parameters.AddRange(sp);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            //自定义datagridview列名
            dt.Columns[0].ColumnName = "日期";
            dt.Columns[1].ColumnName = "站点";
            dt.Columns[2].ColumnName = "水位(米)";
            //绑定数据源
            dgv.DataSource = dt;

            pSqlConnection.Close();            
        }
发布了44 篇原创文章 · 获赞 29 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/IT_xiao_guang_guang/article/details/104194946