代码是以Access库为例,日期对象使用的java.sql.Date()类型,因为据测试java.util.Date类型是不能添加到DateTime类型的字段中的:
import java.sql.*;
import java.text.*;
/**
* 代码
*/
public class MSAccessDB {
public static SimpleDateFormat sd=new SimpleDateFormat("MMM dd yyyy");
private PreparedStatement pStmt=null;
private Statement stmt=null;
private Connection msConn=null;
public MSAccessDB() {
try {
jbInit();
int userID=1;
listLoginData();//列出用户信息,上次登录时间...
updateUserLogin(userID);//更新用户表中的信息,登录时间...
listLoginData();//再次显示用户信息,以便对比
}
catch(Exception e) {
e.printStackTrace();
}
}
private void listLoginData() throws SQLException {
ResultSet rs=stmt.executeQuery("select * from user_table");
while (rs.next()) {
System.out.print(rs.getInt("user_id")+"\t");
System.out.print(rs.getString("nick_name")+"\t");
System.out.print(rs.getString("last_name")+"\t");
System.out.print(rs.getString("first_name")+"\t");
System.out.print(sd.format(rs.getDate("last_access_date"))+"\n");
}
}
private void updateUserLogin(int userID) throws SQLException {
java.sql.Date today=new java.sql.Date(System.currentTimeMillis());
pStmt.setDate(1,today);
pStmt.setInt(2,userID);
pStmt.executeUpdate();
}
private void jbInit() throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
msConn=DriverManager.getConnection("jdbc:odbc:test_db;;;");
String psStr="update user_table set last_access_date=? where user_id=?";
pStmt=msConn.prepareStatement(psStr);
stmt=msConn.createStatement();
}
public static void main(String[] args) {
MSAccessDB mdb=new MSAccessDB();
}
}