世界因你而精彩  
          日歷
          <2006年10月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234
          統(tǒng)計
          • 隨筆 - 169
          • 文章 - 1
          • 評論 - 138
          • 引用 - 0

          導(dǎo)航

          常用鏈接

          留言簿(9)

          隨筆分類(163)

          隨筆檔案(154)

          文章檔案(1)

          新聞檔案(1)

          相冊

          收藏夾(1)

          個人雜雜

          友情鏈接

          自學(xué)考試

          資料搜索

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 360135
          • 排名 - 153

          最新評論

          閱讀排行榜

          評論排行榜

           
          轉(zhuǎn): ?
          ? 在JSP中訪問數(shù)據(jù)庫大全 ? ?
          ? ?
          ? ? ? ? ? 現(xiàn)在有好多初學(xué)jsp的網(wǎng)友經(jīng)常會問數(shù)據(jù)庫怎么連接啊,怎么老出錯啊?所以我集中的在這寫篇文章供大家參考,其實這種把數(shù)據(jù)庫邏輯全部放在jsp里未必是好的做法,但是有利于初學(xué)者學(xué)習(xí),所以我就這樣做了,當(dāng)大家學(xué)到一定程度的時候,可以考慮用MVC的模式開發(fā)。在練習(xí)這些代碼的時候,你一定將jdbc的驅(qū)動程序放到服務(wù)器的類路徑里,然后要在數(shù)據(jù)庫里建一個表test,有兩個字段比如為test1,test2,可以用下面SQL建 ? create ? table ? test(test1 ? varchar(20),test2 ? varchar(20),然后向這個表寫入一條測試紀錄,那么現(xiàn)在開始我們的jsp和數(shù)據(jù)庫之旅吧。 ? ?
          ?    ?
          ? ? ? ? ? 一、jsp連接Oracle8/8i/9i數(shù)據(jù)庫(用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ù)庫的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()) ? {%> ? ?
          ? 您的第一個字段內(nèi)容為:<%=rs.getString(1)%> ? ?
          ? 您的第二個字段內(nèi)容為:<%=rs.getString(2)%> ? ?
          ? <%}%> ? ?
          ? <%out.print("數(shù)據(jù)庫操作成功,恭喜你");%> ? ?
          ? <%rs.close(); ? ?
          ? stmt.close(); ? ?
          ? conn.close(); ? ?
          ? %> ? ?
          ? </body> ? ?
          ? </html> ? ?
          ? ?
          ?   二、jsp連接Sql ? Server7.0/2000數(shù)據(jù)庫 ? ?
          ? ?
          ? ?
          ? 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ù)庫的 ? ?
          ? 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()) ? {%> ? ?
          ? 您的第一個字段內(nèi)容為:<%=rs.getString(1)%> ? ?
          ? 您的第二個字段內(nèi)容為:<%=rs.getString(2)%> ? ?
          ? <%}%> ? ?
          ? <%out.print("數(shù)據(jù)庫操作成功,恭喜你");%> ? ?
          ? <%rs.close(); ? ?
          ? stmt.close(); ? ?
          ? conn.close(); ? ?
          ? %> ? ?
          ? </body> ? ?
          ? </html> ? ?
          ? ?
          ?   三、jsp連接DB2數(shù)據(jù)庫 ? ?
          ? ?
          ? ?
          ? 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ù)庫名 ? ?
          ? 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()) ? {%> ? ?
          ? 您的第一個字段內(nèi)容為:<%=rs.getString(1)%> ? ?
          ? 您的第二個字段內(nèi)容為:<%=rs.getString(2)%> ? ?
          ? <%}%> ? ?
          ? <%out.print("數(shù)據(jù)庫操作成功,恭喜你");%> ? ?
          ? <%rs.close(); ? ?
          ? stmt.close(); ? ?
          ? conn.close(); ? ?
          ? %> ? ?
          ? </body> ? ?
          ? </html> ? ?
          ? ?
          ?   四、jsp連接Informix數(shù)據(jù)庫 ? ?
          ? ?
          ? ?
          ? 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ù)庫名 ? ?
          ? 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()) ? {%> ? ?
          ? 您的第一個字段內(nèi)容為:<%=rs.getString(1)%> ? ?
          ? 您的第二個字段內(nèi)容為:<%=rs.getString(2)%> ? ?
          ? <%}%> ? ?
          ? <%out.print("數(shù)據(jù)庫操作成功,恭喜你");%> ? ?
          ? <%rs.close(); ? ?
          ? stmt.close(); ? ?
          ? conn.close(); ? ?
          ? %> ? ?
          ? </body> ? ?
          ? </html> ? ?
          ? ?
          ?   五、jsp連接Access數(shù)據(jù)庫 ? ?
          ? ?
          ? ?
          ? <%@page ? import="java.sql.*" ? ?
          ? import ? ="java.util.*" ? ?
          ? import ? ="java.io.*" ? ?
          ? import="java.text.*" ? ?
          ? contentType="text/html; ? charset=gb2312" ? ?
          ? buffer="20kb" ? ?
          ? %><%! ? int ? all,i,m_count; ? ?
          ? String ? odbcQuery; ? ?
          ? Connection ? odbcconn; ? ?
          ? Statement ? odbcstmt; ? ?
          ? ResultSet ? odbcrs; ? ?
          ? String ? username,title,content,work,email,url,time,date; ? ?
          ? String ? datetime; ? ?
          ? %> ? ?
          ? <% ? ?
          ? try{ ? ?
          ? Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ? ?
          ? }catch ? (ClassNotFoundException ? e) ? ?
          ? { ? out.print ? ("驅(qū)動程序不存在"); ? ?
          ? } ? ?
          ? try{ ? ?
          ? odbcconn ? = ? DriverManager.getConnection("jdbc:odbc:db1"); ? ?
          ? odbcstmt ? = ? odbcconn.createStatement(); ? ?
          ? odbcQuery="Select ? * ? From ? book ? where ? datetime>2001-4-26 ? Order ? By ? datetime ? DESC"; ? ?
          ? odbcrs=odbcstmt.executeQuery(odbcQuery); ? ?
          ? int ? i=0; ? ?
          ? while ? (i<130) ? odbcrs.next(); ? ?
          ? while ? (odbcrs.next()) ? ?
          ? { ? ?
          ? //*/////////////////////////顯示數(shù)據(jù)庫的內(nèi)容用于調(diào)試程序是用// ? ?
          ? int ? ii; ? ?
          ? try{ ? ?
          ? try{ ? ?
          ? for ? (ii=1;;ii++) ? ?
          ? out.print ? ("<br>Cloumn ? "+ii+" ? is: ? "+odbcrs.getString(ii)); ? ?
          ? }catch ? (NullPointerException ? e) ? { ? ?
          ? out.print ? ("有空的指針"); ? ?
          ? } ? ?
          ? }catch ? (SQLException ? e){ ? ?
          ? } ? ?
          ? } ? ?
          ? odbcrs.close(); ? ?
          ? odbcstmt.close(); ? ?
          ? odbcconn.close(); ? ?
          ? }catch ? (SQLException ? e) ? ?
          ? { ? out.print ? (e); ? ?
          ? } ? ?
          ? %>
          posted on 2006-10-09 15:47 張秀蘭 閱讀(446) 評論(2)  編輯  收藏
          評論:
          • # re: 在JSP中訪問數(shù)據(jù)庫大全  xyang Posted @ 2006-10-10 11:06
            上面的用法有問題,如果發(fā)生異常,連接將不會得到關(guān)閉  回復(fù)  更多評論   

          • # re: 在JSP中訪問數(shù)據(jù)庫大全  張秀蘭[匿名] Posted @ 2006-11-03 09:29
            在應(yīng)用時當(dāng)然是要處理throw exception了.  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © 張秀蘭 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 丹寨县| 大港区| 鞍山市| 滦南县| 黔南| 临桂县| 额尔古纳市| 新密市| 黄平县| 柳林县| 玉山县| 玉溪市| 定边县| 安宁市| 册亨县| 贵定县| 台州市| 弋阳县| 临朐县| 泗水县| 阳信县| 信宜市| 广河县| 刚察县| 汤阴县| 扬州市| 巴马| 南丰县| 明星| 许昌县| 石景山区| 双柏县| 甘南县| 宁远县| 玉树县| 永修县| 新兴县| 通化市| 双城市| 铁岭市| 鹤山市|