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
posted on 2008-07-12 16:15
七夜 阅读(542)
评论(0) 编辑 收藏