我想在C#+ACCESS中查询出记录的日期字段(enter_dat1)大于指定“日期”(TextBox3.Text的值,如:2008-10-09)中的记录,用以下的代码出现 OleDbDataReader reader = cmd.ExecuteReader()处出现“至少有一个参数未指定”的错误,请大家指教,或赐与更简单的方法,谢谢!
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/data/xsgl.mdb");
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();
        DateTime datt = Convert.ToDateTime(TextBox3.Text);
        String sql = "select numbe1,nam1,se1,enter_dat1,fiel1 from xsjf where fiel1='" + DropDownList2.SelectedValue.Trim() + "' and enter_dat1 > datt";
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        OleDbDataReader reader = cmd.ExecuteReader();
        GridView2.DataSource = reader;
        GridView2.DataBind();

解决方案 »

  1.   

    String sql = "select numbe1,nam1,se1,enter_dat1,fiel1 from xsjf where fiel1='" + DropDownList2.SelectedValue.Trim() + "' and enter_dat1 > datt";
    改成
    String sql = "select numbe1,nam1,se1,enter_dat1,fiel1 from xsjf where fiel1='" + DropDownList2.SelectedValue.Trim() + "' and enter_dat1 > #"+datt+"#";
    你这个datt应该是变量吧
    在ACCESS中,表示日期要用#界定起来,如
    select * from table where field=#2009-01-15#