通过servlet执行数据库操作代码如下:package com.ssit.DB;import java.sql.Connection;import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.naming.Context;//这是命名服务执行查询的入口
import javax.naming.InitialContext;
import javax.sql.DataSource;/**
*
* 外层包:com.ssit
* @author
*/
public class DB_Handle { private Connection con = null; private ResultSet rs = null; private Statement stmt = null; public DB_Handle() { } public Connection connectionDatabase() { try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
} public void freeConnection() {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (con != null)
con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
} public ResultSet execQuerySQL(String SQLString) {
try {
if (con != null) {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(SQLString);
} else {
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
return rs;
} public boolean execUpdateSQL(String SQLString) {
try {
stmt = con.createStatement();
stmt.executeUpdate(SQLString);
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
return true;
}}
jsp页面调用这个java类代码如下:<?xml version="1.0" encoding="GBK" ?>
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="com.ssit.DB.*,java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Insert title here</title>
</head>
<body>
<%
DB_Handle dbHandle1 = new DB_Handle();
Connection con = dbHandle1.connectionDatabase();
out.print(con);
ResultSet rs1 = null;
String sql = "select * from U_UserInfo";
rs1 = dbHandle1.execQuerySQL(sql);
%>
<table width="70%" height="68" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#0066FF">
<tr>
<td width="7%" align="center" bgcolor="#CCCCCC">用户id</td>
<td width="36%" align="center" bgcolor="#CCCCCC">登陆名</td>
<td width="31%" align="center" bgcolor="#CCCCCC">用户名</td>
<td width="26%" align="center" bgcolor="#CCCCCC">密码</td>
</tr>
<%
while(rs1.next()){
%>
<tr>
<td><%=rs1.getString("U_UserId")%></td>
<td><%=rs1.getString("U_LoginName")%></td>
<td><%=rs1.getString("U_UserName")%></td>
<td><%= rs1.getString("U_PassWord")%></td>
</tr>
<%
}
if(rs1!=null){rs1.close();}
dbHandle1.freeConnection();
%>
</table>
</body>
</html>谢谢大虾们帮忙指点!!!!!
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.naming.Context;//这是命名服务执行查询的入口
import javax.naming.InitialContext;
import javax.sql.DataSource;/**
*
* 外层包:com.ssit
* @author
*/
public class DB_Handle { private Connection con = null; private ResultSet rs = null; private Statement stmt = null; public DB_Handle() { } public Connection connectionDatabase() { try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
} public void freeConnection() {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (con != null)
con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
} public ResultSet execQuerySQL(String SQLString) {
try {
if (con != null) {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(SQLString);
} else {
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
return rs;
} public boolean execUpdateSQL(String SQLString) {
try {
stmt = con.createStatement();
stmt.executeUpdate(SQLString);
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
return true;
}}
jsp页面调用这个java类代码如下:<?xml version="1.0" encoding="GBK" ?>
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="com.ssit.DB.*,java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Insert title here</title>
</head>
<body>
<%
DB_Handle dbHandle1 = new DB_Handle();
Connection con = dbHandle1.connectionDatabase();
out.print(con);
ResultSet rs1 = null;
String sql = "select * from U_UserInfo";
rs1 = dbHandle1.execQuerySQL(sql);
%>
<table width="70%" height="68" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#0066FF">
<tr>
<td width="7%" align="center" bgcolor="#CCCCCC">用户id</td>
<td width="36%" align="center" bgcolor="#CCCCCC">登陆名</td>
<td width="31%" align="center" bgcolor="#CCCCCC">用户名</td>
<td width="26%" align="center" bgcolor="#CCCCCC">密码</td>
</tr>
<%
while(rs1.next()){
%>
<tr>
<td><%=rs1.getString("U_UserId")%></td>
<td><%=rs1.getString("U_LoginName")%></td>
<td><%=rs1.getString("U_UserName")%></td>
<td><%= rs1.getString("U_PassWord")%></td>
</tr>
<%
}
if(rs1!=null){rs1.close();}
dbHandle1.freeConnection();
%>
</table>
</body>
</html>谢谢大虾们帮忙指点!!!!!
解决方案 »
- jquery uploadify的问题
- tablesorter插件,怎么让一列不变
- 关于下载方式问题
- 问一个超级初级的问题!我的SUN上有一套WEB系统,但我不知道页面文件放在哪儿在!怎么才能找到这些页面文件?
- jsp如何做到用弹出对话框来代替转换页面
- 為什麼我insert數據後,不能直接在網頁上看到插入後的結果,而要刷新一遍後才行
- 哪个大侠有在JSP页面里录入数据时用键盘的上、下、左、右键控制移动的javascript代码
- 在jsp页面中如何嵌入打印功能
- 一个古怪的问题?问了好多人不能搞定,大家看看有谁碰到过,怎么解决?
- 如何检查html的标记是否成对使用?<TABLE><TBODY><TR><TD>这些标记必须成对使用,但是代码多了以后,就检查起来很困难,有工具自动检查吗?
- 网站后台管理
- extjs的问题!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
}
Connection con= DriverManager.getConnection(url,user,password);
改成
con= DriverManager.getConnection(url,user,password);
应该是这句错了,这样又定义了一个局部的con没有给类的con赋值在执行时引用就空指针了。还有你的数据库处理类封装的好像有问题,获取连接的方法应该改为私有的,然后在执行sql语句的方法里(execQuerySQL(sql))调用这个私有方法。你现在页面上的这句没有什么用啊Connection con = dbHandle1.connectionDatabase();
改为 this.con = DriverManager.getConnection(url,user,password);
public Connection connectionDatabase() { try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
}
这段代码写有不怎么合理,不应该在这里就进行异常的抛出,把异常向上抛出就可以啦。