Jdbc连Sybase数据库的几种方法

2003-06-04 10:35:42  作者
1.单用一个JSP文件测试SYBASE jconnect-5_2 JDBC数据库接口



%26lt;%@ page contentType="text/html;charset=GB2312" %%26gt;

%26lt;%@ page import="java.sql.*" %%26gt;

%26lt;HTML%26gt;

%26lt;HEAD%26gt;

%26lt;TITLE%26gt; JSP测试SYBASE jconnect-5_2 JDBC数据库接口 %26lt;/TITLE%26gt;

%26lt;META NAME="Generator" CONTENT="EditPlus2.11"%26gt;

%26lt;META NAME="Author" CONTENT="naxin"%26gt;

%26lt;/HEAD%26gt;

%26lt;BODY%26gt;

%26lt;center%26gt;JSP测试SYBASE jconnect-5_2 JDBC数据库接口%26lt;/center%26gt;

%26lt;BR%26gt;%26lt;BR%26gt;

%26lt;table border=3 align=center %26gt;

%26lt;%

Class.forName("com.sybase.jdbc2.jdbc.SybDriver");

String url ="jdbc:sybase:Tds:localhost:2638"; 

Connection conn= DriverManager.getConnection(url, "dba","sql"); 

Statement stmt=conn.createStatement(); 

String sql="select emp_lname,dept_id,street,city,state from employee order by emp_lname"; 

ResultSet rs=stmt.executeQuery(sql); 

while(rs.next()) {

out.print("%26lt;TR%26gt;%26lt;TD%26gt;"+rs.getString("emp_lname")+"%26lt;/TD%26gt;");

out.print("%26lt;TD%26gt;"+rs.getString("dept_id")+"%26lt;/TD%26gt;");

out.print("%26lt;TD%26gt;"+rs.getString("street")+"%26lt;/TD%26gt;");

out.print("%26lt;TD%26gt;"+rs.getString("city")+"%26lt;/TD%26gt;");

out.print("%26lt;TD%26gt;"+rs.getString("state")+"%26lt;/TD%26gt;%26lt;/TR%26gt;");

}

%%26gt; 

%26lt;/table%26gt;

%26lt;BR%26gt;%26lt;HR%26gt;

%26lt;%out.print("数据库操作成功,恭喜你");%%26gt; 

%26lt;%

rs.close(); 

stmt.close(); 

conn.close(); 

%%26gt;  

%26lt;/BODY%26gt;

%26lt;/HTML%26gt;









2.再用JSPJava Bean的方法:
JSP Code:



%26lt;%@ page contentType="text/html;charset=GB2312" %%26gt;

%26lt;%@ page import="java.sql.*" %%26gt;

%26lt;HTML%26gt;

%26lt;HEAD%26gt;

%26lt;TITLE%26gt;  %26lt;/TITLE%26gt;

%26lt;META NAME="Generator" CONTENT="EditPlus2.11"%26gt;

%26lt;META NAME="Author" CONTENT="naxin"%26gt;

%26lt;/HEAD%26gt;

%26lt;BODY%26gt;

%26lt;jsp:useBean id="sybase" scope="page" class="test.sybconn" /%26gt;

%26lt;%

ResultSet rs=sybase.Query("select * from tjck_dh"); 

while(rs.next()) {

out.print("|"+rs.getString("name")+"|");

out.print(rs.getString("card_no")+"|");

out.print(rs.getString("amount")+"|");

out.print(rs.getString("home_call")+"|");

out.print(rs.getString("office_call")+"|%26lt;br%26gt;");

}

rs.close(); 

%%26gt;



%26lt;HR%26gt;







Bean的代码:



package test;

import java.sql.*;



public class sybconn {

// String sDBDriver = "com.sybase.jdbc2.jdbc.SybDriver";  

String sConnStr = "jdbc:sybase:Tds:localhost:2638";

// String user="dba";

// String passwd="sql";

Connection conn = null;

ResultSet rs = null;



public ResultSet Query(String sql) throws SQLException,Exception {

Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();

conn = DriverManager.getConnection(sConnStr,"dba","sql");

Statement stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

return rs;

}

}





3.
利用JDBC(SYBAE jconnect-5_2)查询Sybase ASA7.0中数据的图形化Java程序范例:


//

//   一个简单的利用JDBC(SYBAE jconnect-5_2)查询Sybase ASA7.0中数据的图形化Java程序范例

//    执行的SQL语句是" select * from employee "  ,可以改成自己所需的.

//    运行方式为: c:\%26gt; java JDBCTest  

//



import java.awt.*;      

import java.sql.*;   // 在使用JDBC之前,必须引入JAVASQLclass JDBCTest extends Frame {

TextArea myTextArea;

public JDBCTest () {

//设定程序的显示界面

super("一个简单的利用JDBC(jconnect-5_2)查询Sybase ASA7.0中数据的图形化Java程序范例");

setLayout(new FlowLayout());

myTextArea = new TextArea(30,80);

add(myTextArea);

resize(500,500);

show();

myTextArea.appendText("数据库查询中,请等待......\n");

}

void displayResults(ResultSet results) throws SQLException {

//首先得到查询结果的信息

ResultSetMetaData resultsMetaData = results.getMetaData();

int cols = resultsMetaData.getColumnCount();

//将等待信息清除

myTextArea.setText("");

//显示结果

while(results.next()) {

for(int i=1;i%26lt;=cols;i++) {

if(i%26gt;1)

myTextArea.appendText("\t");

try{

myTextArea.appendText(results.getString(i));

}

// 捕捉空值时产生的异常

catch(NullPointerException e){

}

}

myTextArea.appendText("\n");

}

}



public boolean handleEvent(Event evt) {

if (evt.id == Event.WINDOW_DESTROY) {

System.exit(0);

return true;

}

return super.handleEvent(evt);

}



public static void main(String argv[]) throws SQLException,Exception {

//设定查询字串

String queryString = "select * from employee";

JDBCTest myJDBCTest = new JDBCTest();

//加载驱动程序

Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();

//建立连接,localhost为主机名,dba为用户名,sql为密码

Connection myConn = DriverManager.getConnection("jdbc:sybase:Tds:localhost:2638","dba","sql");

Statement myStmt = myConn.createStatement();

//执行查询

ResultSet myResults = myStmt.executeQuery(queryString);

myJDBCTest.displayResults(myResults);

//关闭所有打开的资源

myResults.close();

myStmt.close();

myConn.close();

}

}