用OracleDataSource,有向导把查询参数设为控件的值,比如大于日期控件1,小于日期控件2,就可以了VC2005已经带了时间控件了

解决方案 »

  1.   

    asp.net本身的控件不能满足要求吗?
    oracle的时间处理方式和sqlserver不同,需要注意一下。
    用to_date()取出年月日(需要的话),
    不过不知道能不能用最简单的方式
    data1 > datacolumn
    and data2 < datacolumn。
    去oracle版看看。
      

  2.   

    select * from test where date >= to_date('2007-11-07','yyyy-mm-dd') and date <= to_date('2007-11-08','yyyy-mm-dd');
      

  3.   

    SQL语句用这个办法查询:select * From table1
    where date1 between date'2007-1-1' and date'2008-1-1'或者用 timestamp 也可以。select * from Table1
    where date1 between timestatmp'2007-1-1 0:0:0' and timestamp'2007-12-31 23:59:59'
    建议使用 OracleClient 里面的组件来查询,查询的日期应该使用 OracleParameter 来定义。可以看看 OracleClients 的帮助。
    日期控件就用 VS2005 自带的就可以了。
      

  4.   

      各位高手们,还是不行呀,能帮我看看错在那里吗,应该怎样写--
       OracleConnection Conn = new OracleConnection ConfigurationSettings.AppSettings["constr"]);
       Conn.Open();       
       OracleCommand Cmd = new OracleCommand();
       Cmd.Connection = Conn;
       Cmd.CommandText = "SELECT * FROM ABC WHERE C BETWEEN " + dtxt1.Text + " AND " + dtxt2.Text;
        ...........
       错误信息为:ORA-00905: 缺少关键字
    可是我看不缺少关键字。在线等......
      

  5.   

    3楼的应该可以吧
    缺少关键字是因为你直接把dtxt1.Text的值带到sql语句中了
    try.
    Cmd.CommandText   =   "SELECT * FROM ABC WHERE C >= TO_CHAR('" + dtxt1.Text + "', 'YYYY-MM-DD') AND C <= TO_CHAR('" +  dtxt2.Text+"', 'YYYY-MM-DD') "; 日期格式要转换成YYYY-MM-DD
      

  6.   

    我的时间里有:小时,分和秒的
    上面的语句查询得到的错误信息是:ORA-01722: 无效数字
    我用控件得到的时期为别为如下:
    dtxt1.text=2007-11-1 11:10:10
    dtxt2.text=2007-11-14 12:10:10改为如下SQL查询还是不行呀---        OracleConnection Conn = new OracleConnection(ConfigurationSettings.AppSettings["constr"]);
            OracleCommand Cmd = new OracleCommand();
            Cmd.Connection = Conn;
            Cmd.CommandText = "SELECT * FROM KRL.ABC WHERE C > = TO_CHAR( '"+dtxt2.Text+"','YYYY-MM-DD HH:MM')AND C <=TO_CHAR( '"+dtxt1.Text+ "','YYYY-MM-DD HH:MM')";
    得到的结果还是:ORA-01722: 无效数字。各位高手们,能帮我看看错在那里吗。在线----
      

  7.   

    改为Cmd.CommandText = "SELECT * FROM KRL.ABC WHERE (C >=" + Convert.ToChar(dtxt2.Text) + ") AND (C <=" + Convert.ToChar(dtxt1.Text) + ")"  也不行,该怎样写?高手能指都一下吗?
       
      

  8.   

    试试Cmd.CommandText   = "SELECT   *   FROM   KRL.ABC   WHERE   (C   > = '"   +   Convert.ToChar(dtxt2.Text)   +   "')   AND   (C   <= '"   +   Convert.ToChar(dtxt1.Text)   +   "') "   行不行?
      

  9.   

    这样的写法也不行:Cmd.CommandText = "SELECT * FROM KRL.ABC WHERE C >=To_Char('"+dtxt2.Text+"','YYYY-MM-DD HH:24MM:SS') AND C <=To_Char('"+dtxt1.Text+"','YYYY-MM-DD HH:24MM:SS')" 
    错误为:ORA-01722: 无效数字
     我现在试试9楼的,先谢谢了
      

  10.   

    还是不行呀。
     Cmd.CommandText = "SELECT * FROM KRL.ABC WHERE (C >='"+Convert.ToChar(dtxt2.Text)+"') AND (C <='"+Convert.ToChar(dtxt1.Text)+"')" ;
      错误信息为: String must be exactly one character long
    是什么意思
      

  11.   

    Cmd.CommandText   =   "SELECT   *   FROM   KRL.ABC   WHERE   C   > =To_Date( ' "+dtxt2.Text+ " ', 'YYYY-MM-DD   HH:24MM:SS ')   AND   C   <= To_Date( ' "+dtxt1.Text+ " ', 'YYYY-MM-DD   HH:24MM:SS ') " ; 
      

  12.   

    还是不行呀
    日期格式无法识别
    ORA-01821: 日期格式无法识别
      

  13.   

    恩分钟应该用MI。
    我写错了,把TO_DATE写成TO_CHAR了