用户控制文本框值到datagrid

时间:2011-04-28 11:22:57

标签: c#

我的表单中有两个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();

2 个答案:

答案 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);