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

2008-02-23 09:42:04来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

//------------------------------------------------------------------
// 以下代码可以用作模板。 仅需
// 替换相应的 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("");

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SOA与中间件、基础件的发展

下一篇:使用JAVA中的动态代理实现数据库连接池