一个连接数据库完整程序可以作为模板(从csdn中获得)

// 以下代码可以用作模板。 仅需
// 替换相应的 url、登录和口令,然后替换
// 您要发送到数据库中的 SQL 语句。

//----------------------------------------------------------------------------
//
// 模块: SimpleSelect.java
//
// 描述: ODBC API 的测试程序。 此 java 应用程序
// 将与某一 JDBC 驱动程序连接,发出 select 语句,
// 并显示所有结果列和行
//
// 产品: JDBC 到 ODBC 桥
//
// 作者: Karl Moss
//
// 日期: 1996 年 2 月
//
// 版权所有: 1990-1996 INTERSOLV, Inc.
// 本软件包含 INTERSOLV, Inc. 的
// 机密和所有权信息
//----------------------------------------------------------------------------


import java.net.URL;
import java.sql.*;

class SimpleSelectbak {


public static void main (String args[]) {
 String url   = "jdbc:odbc:FDZL";
 String query = "SELECT * FROM DBA_FDLX";

 try {

  // 加载 jdbc-odbc 桥驱动程序

  Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");

  //java.sql.DriverManager.setLogStream(java.lang.System.out);


  //DriverManager.setLogStream(System.out);

  // 试图与某一驱动程序连接。 每个
  // 已注册驱动程序都将被加载,直到
  // 找到一个可以处理此 URL 的驱动程序

  Connection con = DriverManager.getConnection (
   url,"DBA","SQL");

  // 如果不能连接,则已
  // 抛出异常。 因此,如果进入这一步,
  // 则已成功连接到 URL

  // 查询并显示连接生成的
  // 警告。

  checkForWarning (con.getWarnings ());

  // 获得 DatabaseMetaData 对象并显示
  // 一些有关连接的信息

     DatabaseMetaData dma = con.getMetaData ();

  /*System.out.println("/nConnected to " + dma.getURL());
  System.out.println("Driver       " +
   dma.getDriverName());
  System.out.println("Version      " +
   dma.getDriverVersion());
  System.out.println("");*/

  // 创建一个 Statement 对象,使我们可以向
  // 驱动程序提交 SQL 语句

  Statement stmt = con.createStatement ();

  // 提交查询,创建 ResultSet 对象

  ResultSet rs = stmt.executeQuery (query);

  // 显示结果集中的所有列和行

  dispResultSet (rs);

  // 关闭结果集

  rs.close();

  // 关闭语句

  stmt.close();

  // 关闭连接

  con.close();
 }
 catch (SQLException ex) {

  // 生成 SQLException。 捕获它并
  // 显示错误信息。 注意
  // 可能有多个错误对象链接
  // 在一起

 System.out.println ("/n*** SQLException caught ***/n");

 while (ex != null) {
  System.out.println ("SQLState: " +
    ex.getSQLState ());
  System.out.println ("Message:  " + ex.getMessage ());
  System.out.println ("Vendor:   " +
    ex.getErrorCode ());
  ex = ex.getNextException ();
  System.out.println ("");
  }
 }
 catch (java.lang.Exception ex) {

  // 获得其它类型异常  并转储。

  ex.printStackTrace ();
 }
}

//-------------------------------------------------------------------
// checkForWarning
// 查询并显示警告。 如果存在警告则返回
// 真
//-------------------------------------------------------------------

private static boolean checkForWarning (SQLWarning warn)
  throws SQLException  {
 boolean rc = false;

 // 如果给定了 SQLWarning 对象,则显示
 // 警告消息。 注意可能有
 // 多个警告链接在一起

 if (warn != null) {
  System.out.println ("/n *** Warning ***/n");
  rc = true;
  while (warn != null) {
   System.out.println ("SQLState: " +
    warn.getSQLState ());
   System.out.println ("Message:  " +
    warn.getMessage ());
   System.out.println ("Vendor:   " +
    warn.getErrorCode ());
   System.out.println ("");
   warn = warn.getNextWarning ();
  }
 }
 return rc;
}

//-------------------------------------------------------------------
// dispResultSet
// 显示给定结果集中的所有列和行
//-------------------------------------------------------------------

private static void dispResultSet (ResultSet rs)
 throws SQLException
{
 int i,rowcount;

 // 获得 ResultSetMetaData。 它将用于
 // 列标题
   ResultSetMetaData rsmd = rs.getMetaData ();

 // 获得结果集中的列数

 int numCols = rsmd.getColumnCount ();

 // 显示列标题

 for (i=1; i<=numCols; i++) {
  if (i > 1) System.out.print(",");
  System.out.print(rsmd.getColumnLabel(i));
 }
 System.out.println("");

 // 显示数据并获取它,直到结果集末尾

 boolean more = rs.next ();
 while (more) {

  // 在每列中循环获得
  // 并显示列数据

  for (i=1; i<=numCols; i++) {
   if (i > 1) System.out.print(",");
   System.out.print(rs.getString(i));
  }
  System.out.println("");

  // 获取结果集的下一行

  more = rs.next ();
 }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值