java连接SQL Server数据库

JSP连接SQL Server数据库

1.jsp

本例子是以SQL Server2000数据库中Northwind数据库的表Orders为例.

数据库的用户名:sa   密码:sa

友情提示:如果读者安装的是SQL Server2000数据库,别忘了安装它的补丁SP3,或SP4.笔者是安装的是SP3.

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
 <body>
  <%
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
   //studentinfo为你的数据库
   String user = "sa";
   String password = "sa";
   Connection conn = DriverManager.getConnection(url, user, password);
   Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql = "select * from Orders";
   ResultSet rs = stmt.executeQuery(sql);
   while (rs.next()) {
  %>
  您的第一个字段内容为:
  <%=rs.getString(1)%>
  <br />
  您的第二个字段内容为:
  <%=rs.getString(2)%>
  <br />
  您的第三个字段内容为:
  <%=rs.getString(3)%>
  <br />
  您的第四个字段内容为:
  <%=rs.getString(4)%>
  <br />
  <%
  }
  %>
  <%
  out.print("数据库操作成功,恭喜你");
  %>
  <%
   rs.close();
   stmt.close();
   conn.close();
  %>
 </body>
</html>

 

 

2.java

package database;

import java.sql.*;

/**
 * 
@author Administrator
 * 
 
*/
public class DBAccess {
    
private Connection m_conn;

    
private Statement m_stmt;

    String driver 
= "com.microsoft.jdbc.sqlserver.SQLServerDriver";

    String url 
= "jdbc:microsoft:sqlserver://localhost:1433;databasename=sc";

    String uName 
= "sa";

    String uPwd 
= "sa";

    
/**
     * 
     
*/
    
public DBAccess() {
        
this.setDriver(driver);
        
this.setConnection(url, uName, uPwd);
    }

    
public DBAccess(String driver, String url, String userName, String userPWD) {
        
try {
            m_conn 
= DriverManager.getConnection(url, userName, userPWD);
            m_stmt 
= m_conn.createStatement();
        } 
catch (SQLException e) {
            e.printStackTrace();
        }
    }

    
public boolean setDriver(String driver) {
        
try {
            Class.forName(driver);
            
return true;
        } 
catch (Exception e) {
            e.printStackTrace();
        }
        
return false;
    }

    
public boolean setConnection(String url, String userName, String userPWD) {
        
try {
            m_conn 
= DriverManager.getConnection(url, userName, userPWD);
            m_stmt 
= m_conn.createStatement();
            
return true;
        } 
catch (Exception e) {
            e.printStackTrace();
        }
        
return false;
    }

    
// 处理查询
    public ResultSet sendQuery(String sql) {
        
try {
            ResultSet m_rs 
= m_stmt.executeQuery(sql);
            
return m_rs;
        } 
catch (SQLException e) {
            e.printStackTrace();
            
return null;
        }
    }

    
// 处理数据更新
    public int sendUpdate(String sql) {
        
try {
            
return m_stmt.executeUpdate(sql);
        } 
catch (SQLException e) {
            e.printStackTrace();
            
return -1;
        }
    }

    
// 测试程序
    public static void main(String[] arg) {
        DBAccess db 
= new DBAccess();
        String sql 
= "select * from Student";
        ResultSet rs 
= db.sendQuery(sql);
        
try {
            
if (rs != null) {
                
while (rs.next()) {
                    System.out.println(rs.getInt(
"Sno"+ " "
                            
+ rs.getString("Sname"));
                }
            }
        } 
catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

 

下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。 

  1、Oracle8/8i/9i数据库(thin模式) 

Class.forName( ' oracle.jdbc.driver.OracleDriver ' ).newInstance(); 
String url
= ' jdbc:oracle:thin:@localhost:1521:orcl ' // orcl为数据库的SID 
String user = ' test '
String password
= ' test '
Connection conn
=  DriverManager.getConnection(url,user,password);  


  2、DB2数据库 

Class.forName( ' com.ibm.db2.jdbc.app.DB2Driver  ' ).newInstance(); 
String url
= ' jdbc:db2://localhost:5000/sample ' // sample为你的数据库名 
String user = ' admin '
String password
= ''
Connection conn
=  DriverManager.getConnection(url,user,password);  


  3、Sql Server7.0/2000数据库 

Class.forName( ' com.microsoft.jdbc.sqlserver.SQLServerDriver ' ).newInstance(); 
String url
= ' jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb '
// mydb为数据库 
String user = ' sa '
String password
= ''
Connection conn
=  DriverManager.getConnection(url,user,password);  


  4、Sybase数据库 

Class.forName( ' com.sybase.jdbc.SybDriver ' ).newInstance(); 
String url 
= '  jdbc:sybase:Tds:localhost:5007/myDB ' ; // myDB为你的数据库名 
Properties sysProps  =  System.getProperties(); 
SysProps.put(
' user ' , ' userid ' ); 
SysProps.put(
' password ' , ' user_password ' ); 
Connection conn
=  DriverManager.getConnection(url, SysProps);  


  5、Informix数据库 

Class.forName( ' com.informix.jdbc.IfxDriver ' ).newInstance(); 
String url 
=   ' jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; 
user = testuser;password = testpassword ' ; //myDB为数据库名 
Connection conn =  DriverManager.getConnection(url);  


  6、MySQL数据库 

Class.forName( ' org.gjt.mm.mysql.Driver ' ).newInstance();  // 或者Class.forName('com.mysql.jdbc.Driver');
String url  = ' jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1 '  
// myDB为数据库名 
Connection conn =  DriverManager.getConnection(url);  


  7、PostgreSQL数据库 

Class.forName( ' org.postgresql.Driver ' ).newInstance(); 
String url 
= ' jdbc:postgresql://localhost/myDB '   // myDB为数据库名 
String user = ' myuser '
String password
= ' mypassword '
Connection conn
=  DriverManager.getConnection(url,user,password);  


  8、access数据库直连用ODBC的

Class.forName( ' sun.jdbc.odbc.JdbcOdbcDriver ' ) ;
String url
= ' jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ= ' + application.getRealPath( ' /Data/ReportDemo.mdb ' );
Connection conn 
=  DriverManager.getConnection(url, '' , '' );
Statement stmtNew
= conn.createStatement() ; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值