用getDate()取sqlserver2000中的datetime字段为什么多出000?

鲁班大叔 Mobile开发  2002-05-27 04:37:18
rt
...全文
6 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzw123 2002-05-28
String dateandtime=sqlRst.getString("dateandtime");
改成
Date dateandtime = sqlRst.getTimeStamp("dateandtime");
String tmpstr=new SimpleDateTimeFormat("yyyy-MM-dd hh:mm:ss").format(dateandtime);
回复
鲁班大叔 2002-05-28
我用的是String dateandtime=sqlRst.getString("dateandtime");
dateandtime字段也是datetime类型的,数据库中的值是2002-5-27 22:42:07
可是一读出来就是2002-05-27 22:41:12.000。
我用了两位说的方法,但是我把String 改成Date就会出错,真是太奇怪了。
回复
bistone 2002-05-27
<%@ page
language="java"
import="java.sql.*"
contentType="text/html; charset=GB2312" %>

<html>
<head>
</head>
<body>
<%

String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//数据库连接字符串:jdbc-odbc桥
String sConnStr="jdbc:odbc:myDS";
Connection conn=null;
ResultSet rs=null;

//打开数据库连接
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
out.println("opendb():"+e.getMessage());
}

//定义执行sql语句的函数
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery("select * from user333 where id='2' ");
rs.next();
String id=rs.getString("id");
Date current_time=rs.getDate("present");
out.println(id+"\t"+current_time);

}
catch (SQLException ex)
{
out.println("aq.executeQuery:"+
ex.getMessage()+"\n"+ex.getSQLState()+
"\n"+ex.toString());
}

rs.close();
conn.close();
%>
</body>
<html>

用我的代码试试,其中表USER333的字段PRESENT是DATETIME型的,
我试的结果为
2 2002-02-14
回复
wjfling 2002-05-27
用这种方法试试
Date d=res.getDate("DATABASE_DATA");
String sDate=new SimpleDateFormat(d).format("yyyy-MM-dd");
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告