用C#做了一个简单的Windows应用程序,需要用户在输入页面上输入相关的信息,并把这些信息录入数据库中的表。然后在信息查询页面上,需要查询出最近一次的信息,也就是时间最晚的信息。 现在数据库的表应该怎样设计呢?有一列的类型是不是应该设为DATE型呢?来记录用户输入的时间,可是Oracle数据库怎样输入DATE型数据呢?
还是吧年月日都设置为NUMBER型,还是VARCHAR2型呢?  在页面上输入时只能去这些控件的.TEXT属性,它可以用TOSTRING()函数转化为字符型,可是能不能转化为NUMBER型呢,如能就可以根据年月日的大小比较时间了,找出最近的一次。
问题是需要根据数据库的情况查询最近一次的信息!!该怎么办,谢谢!!!!!

解决方案 »

  1.   

    Oracle下用sysdate可以取得。
    SQL> select sysdate from dual;SYSDATE
    --------
    07-08-03把字符型的時間轉爲DATE型:
    SQL> select to_date('2007/08/05 17:33:33','yyyy/mm/dd hh24:mi:ss') from dual;TO_DATE(
    --------
    07-08-05
    DATE可以直接比大小
    SQL> select case when to_date('2007/08/03 17:30:00','yyyy/mm/dd hh24:mi:ss') > sysdate then '1' else '0' end as result from dual;R
    -
    1
      

  2.   

    用date型 ...插入数据:insert into table_name(... ,date) values(... ,to_date(System.DateTime.Now.ToString(),'yyyy-mm-dd hh24:mi:ss');最晚的时间信息:select *
      from (select date_field
              from table_name
             order by date_field desc)
     where rownum = 1;
      

  3.   

    mantisXF(枫の叶)  你好: 我的数据库是一共有7列,名称为STATUSINFORMATION,除了STATUS_TANSDATE这列为DATE型,其他各列均为VARCHAR2型,其他各列均是在界面上有用户在文本框里输入,下面是我的输入数据库按钮的代码,请看看,还是不对啊!
    private void button1_Click(object sender, System.EventArgs e)
    {
    OracleConnection conn = new OracleConnection("Data Source=MYSW;User ID=TRANSFORMER;Password=1;");
    conn.Open();
    string Name = txtTransName.Text.ToString();
    string Dust = txtDust.Text.ToString();
    string Water = txtWater.Text.ToString();
    string Color = txtColor.Text.ToString();
    string Bomb = txtBomb.Text.ToString();
    string Clean = txtClean.Text.ToString();
    string sql= "insert into STATUSINFORMATION(STATUS_TANSNAME,STATUS_TANSDATE,STATUS_TRANSDUST,STATUS_TRANSWATER,STATUS_TRANSMATERIALCOLOR,STATUS_TRANSMATERIALBOMB,STATUS_TRANSCLEAN) values ('Name',to_date(System.DateTime.Now.ToString(),'yyyy-mm-dd hh24:mi:ss'),'Dust','Water','Color','Bomb','Clean')";

    OracleCommand cmd = new OracleCommand(sql,conn);
    cmd.ExecuteNonQuery();
    cmd.Parameters.Clear();
    conn.Close();

    }还有你刚才那帖子insert into table_name(... ,date) values(... ,to_date(System.DateTime.Now.ToString(),'yyyy-mm-dd hh24:mi:ss');是不是少了一个反括号啊 )