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

          導(dǎo)航

          常用鏈接

          留言簿(9)

          隨筆分類(163)

          隨筆檔案(154)

          文章檔案(1)

          新聞檔案(1)

          相冊(cè)

          收藏夾(1)

          個(gè)人雜雜

          友情鏈接

          自學(xué)考試

          資料搜索

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 359403
          • 排名 - 153

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

           
          轉(zhuǎn): ?
          ? 在JSP中訪問數(shù)據(jù)庫(kù)大全 ? ?
          ? ?
          ? ? ? ? ? 現(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連接Access數(shù)據(jù)庫(kù) ? ?
          ? ?
          ? ?
          ? <%@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ū)動(dòng)程序不存在"); ? ?
          ? } ? ?
          ? 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ù)庫(kù)的內(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 張秀蘭 閱讀(439) 評(píng)論(2)  編輯  收藏
          評(píng)論:
          • # re: 在JSP中訪問數(shù)據(jù)庫(kù)大全  xyang Posted @ 2006-10-10 11:06
            上面的用法有問題,如果發(fā)生異常,連接將不會(huì)得到關(guān)閉  回復(fù)  更多評(píng)論   

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


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


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © 張秀蘭 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 莒南县| 华蓥市| 阳泉市| 乐昌市| 兴业县| 漳平市| 高平市| 汨罗市| 横山县| 景谷| 宿州市| 南陵县| 青阳县| 五莲县| 鹤庆县| 衡阳县| 周口市| 闽侯县| 霍州市| 西林县| 都昌县| 南开区| 伊吾县| 益阳市| 额尔古纳市| 内乡县| 临颍县| 肃宁县| 普定县| 元氏县| 蓬莱市| 桑日县| 新竹县| 乌拉特中旗| 阆中市| 太仆寺旗| 柳江县| 高要市| 页游| 方山县| 云和县|