工作小驛

          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
          主站蜘蛛池模板: 揭东县| 海安县| 犍为县| 视频| 湟中县| 衡阳县| 鄢陵县| 从江县| 晋江市| 改则县| 巴林左旗| 德兴市| 青州市| 洞头县| 长乐市| 建德市| 交城县| 开鲁县| 陕西省| 祁门县| 岳阳县| 宜州市| 揭西县| 全椒县| 井陉县| 庄浪县| 长乐市| 酉阳| 长垣县| 乌兰浩特市| 石城县| 峨边| 普兰店市| 错那县| 女性| 醴陵市| 宣威市| 遵化市| 印江| 密山市| 松溪县|