string selectcs = "select * from history where 班级 like  '%" + textBox1 .Text  + "%' and 日期 = to_date('" +textBox2 .Text  + "','yyyy-mm-dd')";
            OracleDataAdapter ada = new OracleDataAdapter(selectcs ,conn );
            DataSet ds = new DataSet();
            ada.Fill(ds );
            dataGridView1.DataSource = ds.Tables[0];传参数时候 说 输入值对于日期格式不够长 

解决方案 »

  1.   

    看看你textBox2 .Text的字符串格式是什么?
    在Oracle数据库里默认的时间格式是:YYYY-MM-DDHH24:MI:SSto_date('2011-05-22 21:17:03','YYYY-MM-DDHH24:MI:SS')to_date( '2011-05-22 ', 'YYYY-MM-DD ')
      

  2.   

    那肯定不对了,你后面格式化日期是yyyy-mm-dd,你输入200903肯定格式不够长了,因为你用了=号,而不是匹配符%string selectcs = "select * from history where 班级 like '%" + textBox1 .Text + "%' and 日期 like to_date('" +textBox2 .Text + "%','yyyy-mm-dd')";试试看
      

  3.   

    to_date('" +textBox2 .Text + "','yyyy-mm-dd')"
    对于这句,你是要格式化字符串?
    为何不设置一个变量,取得格式化后的变量值,在组装sql?
    这样你自己看,调试多费劲!