您好,欢迎访问一九零五行业门户网

取Oracle中sysdate作为聊天室即时时间

从oracle中取sysdate问题。 取出的createtime为null,经过打印hash,终于找到问题所在。原来我将取出oracle的sysdate命名
从oracle中取sysdate问题。
    取出的createtime为null,,经过打印hash,终于找到问题所在。原来我将取出oracle的sysdate命名一个别名systemtime,后面就用systemtime= hash.get(systemtime).tostring(); 而hash中真正的键是systemtime.下面是修正后的代码:
public class oraclesystemtime{
              public  string getsystemtime()
              {   
                     string systemtime=null;
                     string sql = select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') systemtime from dual;
                     hashtable hash = dbhelper.getvalue(sql);
                     if(hash.isempty())
                            systemtime= null;
                     else
                            systemtime= hash.get(systemtime).tostring();
                     return systemtime;
              }
}
打印的结果:createtime=2009-12-21 20:00:35
打印的sql:insert into a_chat_title (id,room_title, create_user_id, begin_time, room_id) values(a_chat_title_seq.nextval,'test','admin','2009-12-21 20:00:35',10)
将取出的sysdate回插到数据库中。
    注意to_date函数在insert语句中的用法,其中用到的变量一定要用' stringname '的格式表示。(我晕,花了这么长时间问题竟然出在这个地方。网上也没有相关的解答) 如:to_date(' createtime ','yyyy-mm-dd hh24:mi:ss')。下面是修正后的代码:
oraclesystemtime systemtime=new oraclesystemtime();
string createtime =systemtime.getsystemtime();
string insertsql = insert into a_chat_title (id,room_title, create_user_id, begin_time, room_id) values(a_chat_title_seq.nextval,' room_title ',' userid ',to_date(' createtime ','yyyy-mm-dd hh24:mi:ss'), roomid );
其它类似信息

推荐信息