Java连接access数据库

Java连接access数据库
import java.sql.*;

public class DBAccess extends java.lang.Object
{
    private String strDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";//JDBC驱动器名称
        private String strUrl = "jdbc:odbc:test2Source";//数据库的URL地址
        private String strDBName = "test2";//指定要访问的数据库名称
        private String strUserName = "ght";//数据库用户名称
        private String strPassWord = "ght";//数据库用户密码
        private Connection conTemp = null;//数据库连接对象,初始化为空
        private Statement stmtTemp = null;//连接的容器对象,初始化为空
        private ResultSet rsTemp = null;//结果集对象,初始化为空
        private int intOperateNum = 0;//操作记录行数
    
        //构造方法,加载指定缺省的驱动程序
        public DBAccess()
    {
        try
        {
             Class.forName(strDBDriver);
         }
         
         catch(Exception e)
         {
             e.printStackTrace();
         }
     }

    //和数据库建立连接
        public boolean createConnection()
    {
         boolean blConnect = false;
         try
         {
             conTemp = DriverManager.getConnection(strUrl,strUserName,strPassWord);
             conTemp.setCatalog(strDBName);
             conTemp.setAutoCommit(false);
             blConnect = true;
         }
         catch(Exception e)
         {
             e.printStackTrace();
         }
         return blConnect;
    }

    //获得查询结果集
        public ResultSet executeQuery(String strSQL)
    {
        try
        {
            if(conTemp == null)
                createConnection();
            stmtTemp = conTemp.createStatement();
            rsTemp = stmtTemp.executeQuery(strSQL);
            return rsTemp;
         }
         catch(Exception e)
         {
             e.printStackTrace();
             return null;
         }
    }

    //对数据库执行更新,插入操作
      public boolean executeUpdate(String strSQL)
    {
        try
        {
            if(conTemp == null)
                createConnection();
            stmtTemp = conTemp.createStatement();
            intOperateNum = stmtTemp.executeUpdate(strSQL);
            return true;
         }
         catch(Exception e)
         {
             e.printStackTrace();
             return false;
         }
    }


    //返回操作记录行数
        public int getDBOperateNum()
    {
        return intOperateNum;
    }

    //提交事务
        public void commit()
    {
        try
        {
            conTemp.commit();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

    //断开和数据库建立的连接
        public void closeDBConnection()
    {
        try
        {
            if(rsTemp != null)
                rsTemp = null;
            if(conTemp != null)
                conTemp = null;
            if(stmtTemp != null)
                stmtTemp = null;
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

    //测试和数据库的操作
        public static void main(String arg[])
    {
        try
        {
            DBAccess d = new DBAccess();
            System.out.println("数据库连接是否成功:" + d.createConnection());
            
            //查询名字为"TOM"的同学的年龄"Age"
                        String strSQLSelect = "SELECT Age FROM RYXX WHERE NAME = 'TOM'";
            ResultSet rsSQLSelect = d.executeQuery(strSQLSelect);
            if(rsSQLSelect.next())
            {
                int intAge = rsSQLSelect.getInt("Age");
                System.out.println("TOM学生年龄为:  " + intAge);
            }

            //添加一条新同学信息,信息为名字为"Mari"性别为"F"的15岁女生
                        String strSQLInsert = "INSERT INTO RYXX VALUES('Mari','F',25)";
            if(d.executeUpdate(strSQLInsert))
            {
                System.out.println("添加信息记录条数: " + d.getDBOperateNum());
            }

            //删除"LUCY"同学的年龄为13岁
                        String strSQLUpdate = "UPDATE RYXX Set Age = 13 WHERE Name = 'LUCY'";
            if(d.executeUpdate(strSQLUpdate))
            {
                System.out.println("修改信息记录条数: " + d.getDBOperateNum());
            }

            //删除"TOM"同学的信息记录
                  String strSQLDelete= "DELETE FROM RYXX WHERE Name = 'TOM'";
            if(d.executeUpdate(strSQLDelete))
            {
                System.out.println("修改信息记录条数: " + d.getDBOperateNum());
            }

            d.commit();//事务的提交
                        d.closeDBConnection();//关闭数据库
                }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }//main()
}//DBAccess

你可能感兴趣的:(Java连接access数据库)