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