【永恒的瞬间】
☜Give me hapy ☞
import java.sql.*;
import java.io.*;
/**
* <p>Title: JDBC连接数据库</p>
* <p>Description: 本实例演示如何使用JDBC连接Oracle数据库,并演示添加数据和查询数据。</p>
*/
public class JDBCConn{
private  String url="";//数据库连接字符串
private  String username="";//数据库用户名
private  String password="";//数据库密码
 
/**
*<br>方法说明:获得数据连接
*<br>输入参数:
*<br>返回类型:Connection 连接对象
*/
public Connection conn(){
try {
  //第一步:加载JDBC驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//第二步:创建数据库连接
Connection con =DriverManager.getConnection(url, username, password);
return con;
}catch(ClassNotFoundException cnf){
  System.out.println("driver not find:"+cnf);
  return null;
}catch(SQLException sqle){
  System.out.println("can't connection db:"+sqle);
  return null;
}
  catch (Exception e) {
System.out.println("Failed to load JDBC/ODBC driver.");
return null;
}
}
/**
*<br>方法说明:执行查询SQL语句
*<br>输入参数:Connection con 数据库连接
*<br>输入参数:String sql 要执行的SQL语句
*<br>返回类型:void
*/
public void query(Connection con, String sql){
try{
if(con==null){
throw new Exception("database connection can't use!");
}
if(sql==null) throw new Exception("check your parameter: 'sql'! don't input null!");
//第三步:获取Staetment对象
Statement stmt = con.createStatement();
//第四步:执行数据库操作(查询操作)
ResultSet rs = stmt.executeQuery(sql);
//第五步:处理结果集
   ResultSetMetaData rmeta = rs.getMetaData();
   //获得数据字段个数
int numColumns = rmeta.getColumnCount();
while(rs.next())
   {
     for(int i = 0;i< numColumns;i++)
     {
    String sTemp = rs.getString(i+1);
    System.out.print(sTemp+"  ");
     }
    System.out.println("");
   }
}catch(Exception e){
System.out.println("query error:"+e);
}
}
/**
*<br>方法说明:执行插入、更新、删除等没有返回结果集的SQL语句
*<br>输入参数:Connection con 数据库连接
*<br>输入参数:String sql 要执行的SQL语句
*<br>返回类型:void
*/
public void execute(Connection con, String sql){
try{
if(con==null) return;
//第三步:获取Statement对象
    Statement stmt = con.createStatement();
//第四步:执行数据库操作(更新操作)
    stmt.executeUpdate(sql);
    System.out.println("update executed successly");
}catch(Exception e){
System.out.println("execute error: sql = "+sql);
System.out.println(e);
}//end try catch
}//end execute
/**
*<br>方法说明:实例演示
*<br>输入参数:无
*<br>返回类型:void
*/
public void demo(){
String sSQL="";
BufferedReader stdin=new BufferedReader(new  InputStreamReader(System.in));
try{
System.out.println("please input update SQL string");
sSQL=stdin.readLine();//获取命令行输入(更新字符串)
Connection conn = conn();//执行自定义连接方法(获取数据库连接对象)
execute(conn,sSQL);//执行自定义更新方法
String sql = "select * from TBL_USER";
query(conn,sql);//执行自定义查询方法(查询并处理结果集)
//第六步:关闭数据库连接
conn.close();
}catch(SQLException se){
System.out.println(se);
}catch(Exception e){
System.out.println(e);
}
 
}
/**
*<br>方法说明:主方法
*<br>输入参数:String[] args 命令行参数(包括:数据库连接URL,
*<br>用户名,密码)
*<br>返回类型:void
*/
public static void main(String[] arg){
if(arg.length!=3){
System.out.println("use: java JDBCConn url username password");
return;
}
JDBCConn oc = new JDBCConn();
oc.url = arg[0];
oc.username=arg[1];
oc.password=arg[2];
oc.demo();
}
}
於 2005-07-09 21:09 user profilesend a private message to usersend email to hkmereply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list     收藏文章? del.icio.us|HEMiDEMi|Search 2.0
使用结果集元数据对象获取数据库信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import java.sql.*;
                        /**
                        * <p>Title: 结果集元数据</p>
                        * <p>Description: 使用结果集元数据对象获取数据库信息。</p>
                        */
                        public class JDBCResultMeta {
                        private String url="";
                        private String username="";
                        private String password="";
                        /**
                        *<br>方法说明:主方法
                        *<br>输入参数:
                        *<br>返回类型:
                        */
                        public static void main(java.lang.String[] args) {
                        if(args.length!=4){
                        System.out.println("use: java JDBCResultMeta url username password tablename");
                        return;
                        }
                        JDBCResultMeta JRM = new JDBCResultMeta();
                        JRM.url = args[0];
                        JRM.username=args[1];
                        JRM.password=args[2];
                        JRM.getMeta(JRM.conn(),args[3]);
                        }
                         
                        /**
                        *<br>方法说明:获得数据连接
                        *<br>输入参数:
                        *<br>返回类型:Connection 连接对象
                        */
                        public Connection conn(){
                        try {
                        Class.forName("com.mysql.jdbc.Driver");
                            Class.forName("oracle.jdbc.driver.OracleDriver");
                        Connection con = DriverManager.getConnection(url, username, password);
                        return con;
                        }catch(ClassNotFoundException cf){
                          System.out.println("can't find class"+cf);
                          return null;
                        }catch(SQLException sqle){
                          System.out.println("can't connection db:"+sqle);
                          return null;
                        } catch (Exception e) {
                        System.out.println("Failed to load JDBC/ODBC driver.");
                        return null;
                        }
                        }
                        /**
                        *<br>方法说明:获取结果集元数据信息
                        *<br>输入参数:Connection con 数据库连接
                        *<br>输入参数:String table 表名称
                        *<br>返回类型:
                        */
                        public void getMeta(Connection con, String table){
                        try {
                        Statement Stm = con.createStatement();
                        String sql="select * from "+table;
                        ResultSet rs = Stm.executeQuery(sql);
                        ResultSetMetaData lineInfo = rs.getMetaData();
                        System.out.println("*********************RESULT META Comment************************");
                        //获取数据列数
                        int columnCount = lineInfo.getColumnCount();
                        System.out.println("Column Count :"+columnCount);
                        //获取数据列类型
                        for(int i=1;i<columnCount+1;i++){
                        String columeName = lineInfo.getColumnName(i);
                        String columeType = lineInfo.getColumnTypeName(i);
                        //boolean autocol = lineInfo.isAutoIncrement(i);
                        System.out.println(columeName+" = "+columeType); //+"  :::  "+autocol);
                            }
                        }catch (SQLException se) {
                        // 输出数据库连接错误信息
                        System.out.println("SQL Exception: " + se.getMessage());
                        se.printStackTrace(System.out);
                        }catch(Exception e){
                        System.out.println(e);
                        }finally{
                        try{
                        con.close();
                        }catch(SQLException se){}
                        }
                        }
                         
                        }
                        
posted on 2007-04-26 21:27 ☜♥☞MengChuChen 阅读(12068) 评论(0)  编辑  收藏 所属分类: JavaBasic

只有注册用户登录后才能发表评论。


网站导航: