
在刚接触数据库 *** 作时就发现时间在Java和数据库自己传输时经常出错,后来自己不断的调试得出一种解决方法:
在建立javaBean时将变量如time直接定义为Date类型,而数据库表单里的数据类型定义为datetime。当向数据库增加一条数据时,
stmsetString(4, new Date()toLocaleString());
当然有人会觉得,我定义的是Date类型的,为什么要用setString,因为后面我是使用了当前时间的一个字符串,所以要用String类型,
而且写sql语句时写数据表里数据名就可以,string直接存进去完全没有问题,只是我调出来的比较好玩的发现,前面我用date的几种
属性也不成功,应该是我水平有限,如果大家有好的方法请多多指教。
而读取一条数据时rsgetDate();
第二种方法就比较正经:
在建立javaBean是将变量如time直接定义为 Timestamp 类型,这是sql里的一种类型,同样的数据表里数据类型还是定义为datetime,
当向数据库增加一条数据时,stmsetTimestamp(6,new Timestamp(new Date()getTime()));
很正常的一种写法,而读取数据时rsgetTimestamp()
这是我常用的两种方法。
public void inithavesold(){//建立查询已销售商品表格、模型
try {
Vector<String> columnName = new Vector<String>();//字段名
Vector<Vector<Object>> dataVector = new
Vector<Vector<Object>>(); //存储所有数据,里面每个小的Vector是存单行的
columnNameadd("编号");
columnNameadd("商品名");
columnNameadd("数量");
columnNameadd("价格");
columnNameadd("总盈利");
conn = DataBasegetconnection();
stmt = conncreateStatement();
rs = stmtexecuteQuery("select from havesold");
while(rsnext()){
Vector<Object> vec = new Vector<Object>();//就是这个存单行的,最后放到上面的大的Vector里面
for(int i=1;i<=5;i++){
vecadd(rsgetObject(i));
}
dataVectoradd(vec);
}
tmhavesold = new DefaultTableModel();//建立默认的JTable模型
tmhavesoldsetDataVector(dataVector, columnName);//设定模型数据和字段
DataBasefree(conn, stmt, rs);
} catch (SQLException e) {
eprintStackTrace();
}
jtablesetModel(tmhavesold);
}
以上就是关于java怎么从数据库中取出时间全部的内容,包括:java怎么从数据库中取出时间、Java SWING如何从数据库中读取多组数据通过JTable显示、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)