以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  [转帖]jsp连接数据库大全  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=30502)


--  作者:dyong525
--  发布时间:4/13/2006 3:06:00 PM

--  [转帖]jsp连接数据库大全
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连接Sybase数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
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连接MySQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//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连接PostgreSQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft为你的数据库名
String user="myuser";
String password="mypassword";
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>


--  作者:梅川酷紫
--  发布时间:4/13/2006 5:55:00 PM

--  


--  作者:jcxuefeng
--  发布时间:4/28/2006 1:20:00 PM

--  
见过了!
--  作者:likeguo_aini
--  发布时间:5/24/2006 5:23:00 PM

--  
辛苦了,谢谢了,也许对我有用!
--  作者:falcon2222
--  发布时间:5/6/2007 5:26:00 PM

--  
还可以```
--  作者:platonism
--  发布时间:5/9/2007 3:35:00 PM

--  
不錯﹐還有informix的﹐也許會用的到。
--  作者:走在阳光中
--  发布时间:6/8/2007 1:24:00 PM

--  
阅过~~
--  作者:wohahaxing
--  发布时间:6/10/2007 1:52:00 PM

--  
不错,这个东西还实在,支持一下!
--  作者:DMman
--  发布时间:6/10/2007 6:28:00 PM

--  
补充一个 jdbc-odbc 桥的代码实例.......

JDBC-ODBC桥连接SQL SERVER
//Test.java

import java.sql.*;

public class Test
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");\\添加驱动,先下驱动sql server 2000 for jdbc diver
String url="jdbc:odbc:zczasdqwe";\\zczasdqwe为数据原名字
String user="sa";
String password="";\\默认数据库的用户和密码
conn= DriverManager.getConnection(url,user,password);\\连接数据库
stmt=conn.createStatement();
sql="select * from zzz";\\zzz为表名
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

还要设置SQL驱动的环境变量

右击我的电脑属性->高级->环境变量;

新建系统变量

变量名:classpath

变量值:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar


C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC是你驱动装的路径,根据你的实际情况而定.


数据原的设置:打开控制面板的管理工具->ODBC数据原;

添加系统DSN->SQL SERVER->为你数据原命名,选服务器~~~~
注意:一定要是系统DSN 用户DSN不可以!
到此基本上就算完成了.

[此贴子已经被作者于2007-6-10 19:05:23编辑过]

--  作者:leon.net
--  发布时间:6/12/2007 11:55:00 AM

--  
很好

--  作者:xqs1239
--  发布时间:6/14/2007 3:24:00 AM

--  
在此请教一下,我用jbuilder和mysql已经配置好,用database pilot 可以看到数据库中的信息,然后在程序中连接
代码如下:
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;


String DB_URL =  "jdbc:mysql://localhost:3306/owl_db";  // URL of database
String DB_USER =   "owluser";                          // database user id
String DB_PASSWD = "owluserpwd";                          // database password
try{
    


      Class.forName ("com.mysql.jdbc.Driver");                         // Load the Driver
         conn=DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWD);
       stmt=conn.createStatement();

     

       
String sql ="INSERT INTO owl_subclass(subclass,superclass) VALUES ('branch','plant')";
stmt.executeUpdate(sql);
   
  rs=stmt.executeQuery("select * from owl_subclass");
  while(rs.next())
  {
      System.out.println(rs.getString(1));
    System.out.println(rs.getString(2));
   System.out.println(rs.getString(3)); }
rs.close();
stmt.close();
conn.close();

}catch(Exception e){
            System.out.println("the database is error!");
   }
finally{
       if (rs != null) {
           try {
               rs.close();
           } catch (Exception ignore) {
           }
       }
       if (stmt != null) {
           try {
               stmt.close();
           } catch (Exception ignore) {
           }
       }
       if (conn != null) {
           try {
               conn.close();
           } catch (Exception ignore) {
           }
       
   }
}
可是总是输出the database is error!
信息并没有被插入表中,请问这可能是什么问题,另外需要在数据源(odbc)中设置吗?可是里面没有mysql的选项。
另外我在设置dataexpress组件中的database中的connection时test connection也始终失败
显示信息是
com.borland.dx.dataset.DataSetException: The driver: com.mysql.jdbc.Driver  could not be loaded.  This could be a problem with the driver itself, or that the driver is not found on the classpath.
另外我是jbuilder2006 +mysql 4.0.26+mysql-connector-java-3.1.14
请各位大大指点 可能是什么问题?我已经试了很多次,都不行,郁闷中。请求帮助。


--  作者:xqs1239
--  发布时间:6/14/2007 6:18:00 AM

--  
换了个mysql-connector-java-3.1.12版本,现在可以了
早知道就早换了试试
--  作者:gogonow
--  发布时间:7/4/2007 2:00:00 PM

--  old resources
老了
--  作者:gogonow
--  发布时间:7/4/2007 2:01:00 PM

--  基本资料
基本资料,最好有池化的
--  作者:zfy5956
--  发布时间:8/13/2007 9:12:00 AM

--  
谢谢,学到很多东西!!!
--  作者:forpeople
--  发布时间:8/22/2007 6:37:00 PM

--  
very good
--  作者:crwfnh05
--  发布时间:8/25/2007 3:38:00 PM

--  
THANK YOU!

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
109.375ms