JavaBeanpackage javafan;
import java.sql.*;public class Jdbctest{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //"org.gjt.mm.mysql.Driver";
String sConnStr="jdbc:odbc:cc"; //jdbc:mysql://localhost:3306/guestbook?user=root&password=&useUnicode=true&characterEncoding=ISO-8859-1";
Connection conn=null;
ResultSet rs=null;
public Jdbctest(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.out.println("Jdbc_conn():"+e.getMessage());
}
}
public void executeUpdate(String sql)throws Exception{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeUpdate:"+ex.getMessage());
}
}
public ResultSet executeQuery(String sql)throws Exception{
rs=null;
try{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeQuery:"+ex.getMessage());
}
return rs;
}
}网页里面的内容. index.jsp:
<%@ page contentType="text/html;charset=gb2312" errorPage=""%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="gbook" scope="page" class="javafan.Jdbctest"/>
<%
int RowCount=0;
String sql="select * from member"; //执行字符串ResultSet rt = gbook.executeQuery(sql);//取得记录总数rt.close();
//RowCount=rt.getInt(1);//取得整数保存在RowCount变量中
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=rt.getString("name")%></title>
<link rel="stylesheet" href="style.css" type="text/css"></head><body leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"></body>
</html>
出错提示:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /index11.jsp:107:
8: ResultSet rt = gbook.executeQuery(sql);//取得记录总数
9:
10: rt.close();
11: //RowCount=rt.getInt(1);//取得整数保存在RowCount变量中
12: %>
13: <html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.index11_jsp._jspService(org.apache.jsp.index11_jsp:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.
--------------------------------------------------------------------------------
import java.sql.*;public class Jdbctest{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //"org.gjt.mm.mysql.Driver";
String sConnStr="jdbc:odbc:cc"; //jdbc:mysql://localhost:3306/guestbook?user=root&password=&useUnicode=true&characterEncoding=ISO-8859-1";
Connection conn=null;
ResultSet rs=null;
public Jdbctest(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.out.println("Jdbc_conn():"+e.getMessage());
}
}
public void executeUpdate(String sql)throws Exception{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeUpdate:"+ex.getMessage());
}
}
public ResultSet executeQuery(String sql)throws Exception{
rs=null;
try{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeQuery:"+ex.getMessage());
}
return rs;
}
}网页里面的内容. index.jsp:
<%@ page contentType="text/html;charset=gb2312" errorPage=""%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="gbook" scope="page" class="javafan.Jdbctest"/>
<%
int RowCount=0;
String sql="select * from member"; //执行字符串ResultSet rt = gbook.executeQuery(sql);//取得记录总数rt.close();
//RowCount=rt.getInt(1);//取得整数保存在RowCount变量中
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=rt.getString("name")%></title>
<link rel="stylesheet" href="style.css" type="text/css"></head><body leftMargin=0 topMargin=0 marginheight="0" marginwidth="0"></body>
</html>
出错提示:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /index11.jsp:107:
8: ResultSet rt = gbook.executeQuery(sql);//取得记录总数
9:
10: rt.close();
11: //RowCount=rt.getInt(1);//取得整数保存在RowCount变量中
12: %>
13: <html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.index11_jsp._jspService(org.apache.jsp.index11_jsp:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.
--------------------------------------------------------------------------------
连接的是ACCESS数据库
添加rt.next();
还有建议用字段序列号来查询数据
比如
第一个字段用rs.getString(1)
我rs.next()
rs.nextString(1)
都试过了, 都是空指针错误
是,rs.getString(1) 这些都不行。我库里面有内容。 再问下, A59229617 建立记录集是什么?