服务器 频道

在JSP中访问数据库大全

  【IT168 服务器学院】 现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20),然后向这个表写入一条测试纪录,那么现在开始我们的jsp和数据库之旅吧。

      一、jsp连接Oracle8/8i/9i数据库(用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为你的数据库的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()) {%>
  您的第一个字段内容为:<%=rs.getString(1)%>
  您的第二个字段内容为:<%=rs.getString(2)%>
  <%}%>
  <%out.print("数据库操作成功,恭喜你");%>
  <%rs.close();
  stmt.close();
  conn.close();
  %>
  </body>
  </html>

      二、jsp连接Sql Server7.0/2000数据库
  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为你的数据库的
  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()) {%>
  您的第一个字段内容为:<%=rs.getString(1)%>
  您的第二个字段内容为:<%=rs.getString(2)%>
  <%}%>
  <%out.print("数据库操作成功,恭喜你");%>
  <%rs.close();
  stmt.close();
  conn.close();
  %>
  </body>
  </html>

      三、jsp连接DB2数据库
  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为你的数据库名
  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()) {%>
  您的第一个字段内容为:<%=rs.getString(1)%>
  您的第二个字段内容为:<%=rs.getString(2)%>
  <%}%>
  <%out.print("数据库操作成功,恭喜你");%>
  <%rs.close();
  stmt.close();
  conn.close();
  %>
  </body>
  </html>

      四、jsp连接Informix数据库
  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为你的数据库名
  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()) {%>
  您的第一个字段内容为:<%=rs.getString(1)%>
  您的第二个字段内容为:<%=rs.getString(2)%>
  <%}%>
  <%out.print("数据库操作成功,恭喜你");%>
  <%rs.close();
  stmt.close();
  conn.close();
  %>
  </body>
  </html>

      五、jsp连接Access数据库
  <%@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 ("驱动程序不存在");
  } 
  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())
  {
  //*/////////////////////////显示数据库的内容用于调试程序是用//
  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);
  }
  %>
  

 
  

0
相关文章