工作小驛

          Ninja!

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks
          現(xiàn)在有好多初學(xué)jsp的網(wǎng)友經(jīng)常會(huì)問數(shù)據(jù)庫(kù)怎么連接啊,怎么老出錯(cuò)啊?所以我集中的在這寫篇文章供大家參考,其實(shí)這種把數(shù)據(jù)庫(kù)邏輯全部放在jsp里未必是好的做法,但是有利于初學(xué)者學(xué)習(xí),所以我就這樣做了,當(dāng)大家學(xué)到一定程度的時(shí)候,可以考慮用MVC的模式開發(fā)。在練習(xí)這些代碼的時(shí)候,你一定將jdbc的驅(qū)動(dòng)程序放到服務(wù)器的類路徑里,然后要在數(shù)據(jù)庫(kù)里建一個(gè)表test,有兩個(gè)字段比如為test1,test2,可以用下面SQL建
          create table test(test1 varchar(20),test2 varchar(20)
          然后向這個(gè)表寫入一條測(cè)試紀(jì)錄
          那么現(xiàn)在開始我們的jsp和數(shù)據(jù)庫(kù)之旅吧。
          一、jsp連接Oracle8/8i/9i數(shù)據(jù)庫(kù)(用thin模式)
          testoracle.jsp如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
          String url="jdbc:oracle:thin:@localhost:1521:orcl";
          //orcl為你的數(shù)據(jù)庫(kù)的SID
          String user="scott";
          String password="tiger";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          二、jsp連接Sql Server7.0/2000數(shù)據(jù)庫(kù)
          testsqlserver.jsp如下:
          <%@ 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=pubs";
          //pubs為你的數(shù)據(jù)庫(kù)的
          String user="sa";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          三、jsp連接DB2數(shù)據(jù)庫(kù)
          testdb2.jsp如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
          String url="jdbc:db2://localhost:5000/sample";
          //sample為你的數(shù)據(jù)庫(kù)名
          String user="admin";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          四、jsp連接Informix數(shù)據(jù)庫(kù)
          testinformix.jsp如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
          String url =
          "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
          user=testuser;password=testpassword";
          //testDB為你的數(shù)據(jù)庫(kù)名
          Connection conn= DriverManager.getConnection(url);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          五、jsp連接Sybase數(shù)據(jù)庫(kù)
          testmysql.jsp如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
          String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
          //tsdata為你的數(shù)據(jù)庫(kù)名
          Properties sysProps = System.getProperties();
          SysProps.put("user","userid");
          SysProps.put("password","user_password");
          Connection conn= DriverManager.getConnection(url, SysProps);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          六、jsp連接MySQL數(shù)據(jù)庫(kù)
          testmysql.jsp如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
          String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
          //testDB為你的數(shù)據(jù)庫(kù)名
          Connection conn= DriverManager.getConnection(url);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          七、jsp連接PostgreSQL數(shù)據(jù)庫(kù)
          testmysql.jsp如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("org.postgresql.Driver").newInstance();
          String url ="jdbc:postgresql://localhost/soft"
          //soft為你的數(shù)據(jù)庫(kù)名
          String user="myuser";
          String password="mypassword";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
          您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          例:
          import java.sql.*;
          public class dbaccess{
          public static void main(String args[]) throws Exception{
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此為NO-DSN方式
          //String dburl ="jdbc:odbc:odbcName";//此為ODBC連接方式
          Connection conn=DriverManager.getConnection(dburl);
          Statement stmt=conn.createStatement();
          ResultSet rs=stmt.executeQuery("select Top 20 * from MobileSection");
          System.out.println("號(hào)段 地區(qū) 類型 省份 區(qū)號(hào)");
          while(rs.next()){
          System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5));
          }
          rs.close();
          stmt.close();
          conn.close();
          }
          }
          posted on 2007-09-15 11:26 王君 閱讀(242) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 乌兰察布市| 揭阳市| 涞水县| 科技| 乐山市| 上饶县| 临沧市| 桃江县| 叶城县| 五莲县| 枣强县| 兴城市| 苍山县| 郯城县| 浏阳市| 大埔县| 定远县| 黄石市| 丹阳市| 龙岩市| 安图县| 武威市| 黔西县| 科尔| 东兴市| 嘉定区| 桦甸市| 荣昌县| 泰兴市| 金塔县| 常熟市| 镇雄县| 安义县| 合水县| 宁德市| 天门市| 贡觉县| 武清区| 武强县| 泰来县| 绥芬河市|