package com.jb.logon;import java.sql.*;
//连接sql数据库的方法
public class JDBConnection1 {
private final String dbDriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
private final String url =
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db2";
private final String userName = "sa";
private final String password = "85422107";
private Connection con = null; public JDBConnection1() {
try {
Class.forName(dbDriver).newInstance(); //加载数据库驱动
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
}//创建数据库连接
public boolean creatConnection() {
try {
con = DriverManager.getConnection(url, userName, password);
con.setAutoCommit(true); } catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("creatConnectionError!");
}
return true;
}//对数据库的增加、修改和删除的操作
public boolean executeUpdate(String sql) { if (con == null) {
creatConnection();
}
try {
Statement stmt = con.createStatement();
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeUpdaterError!");
return false;
} }
//对数据库进行修改操作
public boolean executeUpdate1(String sql) { if (con == null) {
creatConnection();
}
try {
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeUpdaterError!");
return false;
} }//对数据库的查询操作
public ResultSet executeQuery(String sql) {
ResultSet rs;
try {
if (con == null) {
creatConnection();
}
Statement stmt = con.createStatement();
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeQueryError!");
return null;
}
return rs;
}//关闭数据库的操作
public void closeConnection() {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
System.out.println("Failed to close connection!");
} finally {
con = null;
}
}
}}
以上为数据库连接
<jsp:useBean id="connection1" scope="session" class="com.jb.logon.JDBConnection1"/>
在JSP页面进行调用,
<%
try{
String sql1="select top 8 a,b from t_table where qb='1' order by recordtm";
ResultSet rs2=connection1.executeQuery(sql1);
String a="";
while(rs2.next()){a=rs2.getString("a");
%>
<tr align="center" valign="middle" height="22">
<td align="left" width="430"><img src="sy_files/button_green.gif"><a href="showsjgg.jsp?a=<%=a%>" target="_blank"> <%=biaoti%></a> <<%=rs2.getDate("b") %>></td>
</tr>
<% }} catch(Exception ex) {}%>
<%connection1.closeConnection();%>
间歇性报上面的socket write error异常,请大家帮忙看看,有什么想法大家可以交流下 谢谢
//连接sql数据库的方法
public class JDBConnection1 {
private final String dbDriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
private final String url =
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db2";
private final String userName = "sa";
private final String password = "85422107";
private Connection con = null; public JDBConnection1() {
try {
Class.forName(dbDriver).newInstance(); //加载数据库驱动
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
}//创建数据库连接
public boolean creatConnection() {
try {
con = DriverManager.getConnection(url, userName, password);
con.setAutoCommit(true); } catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("creatConnectionError!");
}
return true;
}//对数据库的增加、修改和删除的操作
public boolean executeUpdate(String sql) { if (con == null) {
creatConnection();
}
try {
Statement stmt = con.createStatement();
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeUpdaterError!");
return false;
} }
//对数据库进行修改操作
public boolean executeUpdate1(String sql) { if (con == null) {
creatConnection();
}
try {
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeUpdaterError!");
return false;
} }//对数据库的查询操作
public ResultSet executeQuery(String sql) {
ResultSet rs;
try {
if (con == null) {
creatConnection();
}
Statement stmt = con.createStatement();
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeQueryError!");
return null;
}
return rs;
}//关闭数据库的操作
public void closeConnection() {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
System.out.println("Failed to close connection!");
} finally {
con = null;
}
}
}}
以上为数据库连接
<jsp:useBean id="connection1" scope="session" class="com.jb.logon.JDBConnection1"/>
在JSP页面进行调用,
<%
try{
String sql1="select top 8 a,b from t_table where qb='1' order by recordtm";
ResultSet rs2=connection1.executeQuery(sql1);
String a="";
while(rs2.next()){a=rs2.getString("a");
%>
<tr align="center" valign="middle" height="22">
<td align="left" width="430"><img src="sy_files/button_green.gif"><a href="showsjgg.jsp?a=<%=a%>" target="_blank"> <%=biaoti%></a> <<%=rs2.getDate("b") %>></td>
</tr>
<% }} catch(Exception ex) {}%>
<%connection1.closeConnection();%>
间歇性报上面的socket write error异常,请大家帮忙看看,有什么想法大家可以交流下 谢谢
改成
<jsp:useBean id="connection1" scope="request" class="com.jb.logon.JDBConnection1"/>
不要共享 Connection,以免引起多页面共同刷新引起冲突。2 建议修改的代码,不改也没大问题
public class JDBConnection1 {
private static final String dbDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db2";
private static final String userName = "sa";
private static final String password = "85422107";
private Connection con = null;
static { // 初始化一次就够了
try {
Class.forName(dbDriver).newInstance(); // 加载数据库驱动
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
}
public JDBConnection1() { }3 jsp 流程稍作修改<%
try {
String sql1 = "select top 8 a,b from t_table where qb='1' order by recordtm";
ResultSet rs2 = connection1.executeQuery(sql1);
String a = "";
while (rs2.next()) {
a = rs2.getString("a");
%>
<tr align="center" valign="middle" height="22">
<td align="left" width="430"><img src="sy_files/button_green.gif"> <a href="showsjgg.jsp?a= <%=a%> "
target="_blank"> <%=biaoti%> </a> < <%=rs2.getDate("b")%> ></td>
</tr>
<%
}
} catch (Exception ex) {
ex.printStackTrace(); // 有异常还是输出来吧
} finally { // 放在这里确保连接关闭
connection1.closeConnection();
}
%>