世界因你而精彩  
日历
<2006年10月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
统计
  • 随笔 - 169
  • 文章 - 1
  • 评论 - 138
  • 引用 - 0

导航

常用链接

留言簿(9)

随笔分类(163)

随笔档案(154)

文章档案(1)

新闻档案(1)

相册

收藏夹(1)

个人杂杂

友情链接

自学考试

资料搜索

最新随笔

搜索

  •  

积分与排名

  • 积分 - 358279
  • 排名 - 153

最新评论

阅读排行榜

评论排行榜

 
转:  
  在JSP中访问数据库大全    
   
          现在有好多初学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);    
  }    
  %>
posted on 2006-10-09 15:47 张秀兰 阅读(435) 评论(2)  编辑  收藏
评论:
  • # re: 在JSP中访问数据库大全  xyang Posted @ 2006-10-10 11:06
    上面的用法有问题,如果发生异常,连接将不会得到关闭  回复  更多评论   

  • # re: 在JSP中访问数据库大全  张秀兰[匿名] Posted @ 2006-11-03 09:29
    在应用时当然是要处理throw exception了.  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 张秀兰 Powered by: 博客园 模板提供:沪江博客