我的表单中有两个usercontrol为标签文本框datepicker 第一个标签=从日期开始 第二个标签=到期日 还有一个数据网格和一个按钮 现在我在数据网格中的两个日期之间数据,来自用户控件中的两个文本框 我正在尝试使用此代码,但它无效:
SqlConnection cs = new SqlConnection("Data Source=IRIS-CSG-174;Initial Catalog=library_system;Integrated Security=True");
cs.Open();
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between'" + userControl11+ "'" + "and'" + userControl12.Text + "'", cs);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(ds, "lib_issue_details");
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataBindings.Add(new Binding("text", ds, "lib_issue_details"));
cs.Close();
答案 0 :(得分:0)
假设标签具有正确的日期格式,则.Text
上缺少userControl11
尝试
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between'" + userControl11.Text + "'" + "and'" + userControl12.Text + "'", cs);
偶然的事与你的问题无关。查看参数化查询,而不是将值连接到查询字符串中。另外一个更好的做法是将using
用于像这样的IDisposable实体
using (SqlConnection cs = new SqlConnection(...) )
{
...
}
答案 1 :(得分:0)
您必须更正命令文本:
SqlCommand cmd = new SqlCommand(@"select * from dbo.lib_issue_details
where book_issue_on between'" + userControl11.Text+ "' and '" +
userControl12.Text + "'", cs);