答案 0 :(得分:0)
您想要更改您的SQL查询,以选择DOB值大于您的开始日期且小于结束日期的位置...
这是一个非常基本的示例,它将datagridview与这样的选择绑定在一起。
我已经从记忆中写下了这些内容,多年来我一直没有这样做,所以我不保证这是否有效,但它应该让你开始。
SqlConnection conn = new SqlConnection(connectionString);
string sql = "SELECT * FROM Table WHERE DOB > @startdate and DOB < @enddate";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add(new SqlParameter("@startdate", DateTimePicker1.Date));
cmd.Parameters.Add(new SqlParameter("@enddate", DateTimePicker2.Date));
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
DataGridView1.DataSource = ds.Tables[0];
DataGridView1.DataBind();
答案 1 :(得分:0)
DataGridView
将DataSource
设置为a
DataTable
。DateTimePickers
DataTable
的第一列命名为dob,第2列为年龄,第3列为
名称以下是加载按钮的代码。
private void btnLoad_Click(object sender, EventArgs e)
{
//validation
if (DateTime.Compare(dtp1.Value.Date, dtp2.Value.Date) > 0)
{
MessageBox.Show("The start date cannot be greater than the end
date.");
dtp1.Focus();
return;
}
DataTable dt = (DataTable)dgv.DataSource;
DataView dv = new DataView();
dv = dt.DefaultView;
dv.RowFilter = "dob >= '" + dtp1.Value.Date + "' and dob <= '" +
dtp2.Value.Date + "'";
}