在JSP中訪問數(shù)據(jù)庫大全
更新時間:2006年10月13日 00:00:00 作者:
現(xiàn)在有好多初學jsp的網(wǎng)友經(jīng)常會問數(shù)據(jù)庫怎么連接啊,怎么老出錯啊?所以我集中的在這寫篇文章供大家參考,其實這種把數(shù)據(jù)庫邏輯全部放在jsp里未必是好的做法,但是有利于初學者學習,所以我就這樣做了,當大家學到一定程度的時候,可以考慮用MVC的模式開發(fā)。在練習這些代碼的時候,你一定將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);
}
%>
相關(guān)文章
jsp利用echarts實現(xiàn)報表統(tǒng)計的實例
echarts用來做數(shù)據(jù)報表的一個展示效果了,本文介紹了jsp利用echarts實現(xiàn)報表統(tǒng)計的實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-10-10jsp+jdbc實現(xiàn)連接數(shù)據(jù)庫的方法
這篇文章主要介紹了jsp+jdbc實現(xiàn)連接數(shù)據(jù)庫的方法,較為詳細的分析了jsp+jdbc連接數(shù)據(jù)庫的完整技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實現(xiàn)方法
這篇文章主要介紹了JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實現(xiàn)方法的相關(guān)資料,我們知道為了避免提交數(shù)據(jù)的亂碼問題,需要在每次使用請求之前設(shè)置編碼格式,這里提供一次性修改所有的請求編碼問題,需要的朋友可以參考下2017-08-08