javabean之最简单连接数据库、处理数据库(insert、query、delete)的出错的问题!!! 1.class应为Class2.编写一个批处理文件,将class文件的输出指到你的class目录 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你如果没编过javabean最好上来不要用JDBC先用下ODBC-JDBC桥比较好,我这有个例子你你可以参与一下package bean;import java.sql.*;public class Odbc{ String Dbdriver="sun.jdbc.odbc.JdbcOdbcDriver"; String constr="jdbc:odbc:js"; Connection cn=null; ResultSet rs=null; Statement stmt; //返回记录结果集的查询操作 public Odbc() throws Exception { Class.forName(Dbdriver); cn=DriverManager.getConnection(constr,"oper","oper"); } public ResultSet Query(String sql)throws Exception{ stmt=cn.createStatement(); rs=stmt.executeQuery(sql); return rs; } //无返回的更新操作 public void Update(String sql)throws Exception{ stmt=cn.createStatement(); stmt.executeUpdate(sql); } //关闭数据库联接对象 public void CloseStmt()throws Exception{ stmt.close(); } public void CloseCn()throws Exception{ cn.close(); } } 谢谢大家!确实是那个Class.forName()的问题。这步是过去了,还有个错误:G:\>javac sql_data.javasql_data.java:33: missing return statement{^1 error怎么返回return statement? beijingwhitney(beijing)哥们:编写一个批处理文件,将class文件的输出指到你的class目录,怎么写? 下面是我的Class文件,可以用。package conn;import java.sql.*; import java.lang.*;public class DBconn { String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; String ConnStr = "jdbc:odbc:txl"; Connection conn = null; ResultSet rs = null; public DBconn() { try { Class.forName(DBDriver); } catch(java.lang.ClassNotFoundException e) { System.err.println("DBconn (): " +e.getMessage()); } } public ResultSet executeQuery(String sql) { rs = null; try { conn = DriverManager.getConnection(ConnStr); Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql); } catch(SQLException ex) { System.err.println("aq.executeQuery:" + ex.getMessage()); } return rs; } public void executeInsert(String sql) { try { conn=DriverManager.getConnection(ConnStr); Statement stmt=conn.createStatement(); stmt.executeUpdate(sql); } catch(SQLException ex) { System.err.println("sql_data.executeUpdate:"+ex.getMessage()); } } public void executeDelete(String sql) { try { conn=DriverManager.getConnection(ConnStr); Statement stmt=conn.createStatement(); stmt.executeUpdate(sql); } catch(SQLException ex) { System.err.println("sql_data.executeDelete:"+ex.getMessage()); } }} 把你的class文件放在x:\tomcat 4.1\webapps\root\web-inf\classes\conn 做了个例子如下:<%@page language="java"%><%@page contentType="text/html;charset=GB2312"%><html><body><jsp:useBean id="sqlbean" scope="session" class="sql_data"/><%!String sql,name;%><%sql="select * from ipaddress";ResultSet rs=sqlbean.executeQuery(sql);while(rs.next()){name=rs.getString("name");}%>name:<%=name%><%rs.close();%></body></html>可运行时候出错:D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:45: cannot resolve symbolsymbol : class sql_data location: class org.apache.jsp.javabean12_jsp sql_data sqlbean = null; ^An error occurred at line: 4 in the jsp file: /javabean12.jspGenerated servlet error:D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:47: cannot resolve symbolsymbol : class sql_data location: class org.apache.jsp.javabean12_jsp sqlbean = (sql_data) pageContext.getAttribute("sqlbean", PageContext.SESSION_SCOPE); ^An error occurred at line: 4 in the jsp file: /javabean12.jspGenerated servlet error:D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:50: cannot resolve symbolsymbol : class sql_data location: class org.apache.jsp.javabean12_jsp sqlbean = (sql_data) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "sql_data"); ^An error occurred at line: 6 in the jsp file: /javabean12.jspGenerated servlet error:D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:63: cannot resolve symbolsymbol : class ResultSet location: class org.apache.jsp.javabean12_jspResultSet rs=sqlbean.executeQuery(sql);好象说没找到sql_data.class,我已经把他放到 class目录下了呀。郁闷!!!! beans不是不需要任何的设置吗?只要放到相应的class目录中是不是就可以了?那为什么我的程序不能找到我的class sql_data 呢? 是因为用了包的原因“package conn;” 哪你就在CLASSES文件夹下建个新文件夹取名conn,然后把所有的BEAN都放到它的下面 问题已经解决!!!jdbc与jdbc-odbc连接数据库不太一样conn=DriverManager.getConnection(ConnStr,user,password);解决登陆空的问题!!!还有个问题是:为什么bean一定要放到package里?先前我没放到package里,没能正常运行?不知何故? 把bean放在包里,是规范的做法不是一定要这么做,TOMCAT自4。0以后都要求把bean放到包里,然后应用, struts2_2.1.6 tomcat6.0 jdk1.6出現一個問題,望指教 我菜鸟程序员 出现500错误,求大神解决。 Sybase分页问题 各位高手帮帮忙呀。如何查看日志文件 关于串口数据在浏览器的显示 自定义标签中需要从url中获得值。 在jsp中如何实现动态设置页面中<Table>的行和列啊! 100分求网吧管理系统源代码,以jsp页面做界面. 请问那里有支持中文好的jsp开发的webmail下载?很急!谢谢大家了! javaweb中tomcat配置图片路径问题 JSP数据库环境变量设置谢谢帮忙!!!(在线等待) 我做插入操作,提交时老出错。。。
package bean;
import java.sql.*;public class Odbc{ String Dbdriver="sun.jdbc.odbc.JdbcOdbcDriver";
String constr="jdbc:odbc:js";
Connection cn=null;
ResultSet rs=null;
Statement stmt; //返回记录结果集的查询操作
public Odbc() throws Exception
{
Class.forName(Dbdriver);
cn=DriverManager.getConnection(constr,"oper","oper");
}
public ResultSet Query(String sql)throws Exception{
stmt=cn.createStatement();
rs=stmt.executeQuery(sql);
return rs;
}
//无返回的更新操作
public void Update(String sql)throws Exception{
stmt=cn.createStatement();
stmt.executeUpdate(sql);
}
//关闭数据库联接对象
public void CloseStmt()throws Exception{
stmt.close();
}
public void CloseCn()throws Exception{
cn.close();
}
}
确实是那个Class.forName()的问题。
这步是过去了,还有个错误:
G:\>javac sql_data.java
sql_data.java:33: missing return statement
{
^
1 error
怎么返回return statement?
beijingwhitney(beijing)哥们:
编写一个批处理文件,将class文件的输出指到你的class目录,怎么写?
import java.sql.*;
import java.lang.*;public class DBconn
{
String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String ConnStr = "jdbc:odbc:txl";
Connection conn = null;
ResultSet rs = null;
public DBconn()
{
try {
Class.forName(DBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("DBconn (): " +e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
rs = null;
try
{
conn = DriverManager.getConnection(ConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:" + ex.getMessage());
}
return rs;
} public void executeInsert(String sql)
{
try
{
conn=DriverManager.getConnection(ConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeUpdate:"+ex.getMessage());
}
} public void executeDelete(String sql)
{
try
{
conn=DriverManager.getConnection(ConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeDelete:"+ex.getMessage());
}
}
} 把你的class文件放在x:\tomcat 4.1\webapps\root\web-inf\classes\conn
<%@page language="java"%>
<%@page contentType="text/html;charset=GB2312"%>
<html>
<body>
<jsp:useBean id="sqlbean" scope="session" class="sql_data"/>
<%!String sql,name;%>
<%
sql="select * from ipaddress";
ResultSet rs=sqlbean.executeQuery(sql);
while(rs.next()){
name=rs.getString("name");
}
%>
name:<%=name%>
<%
rs.close();
%>
</body>
</html>可运行时候出错:
D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:45: cannot resolve symbol
symbol : class sql_data
location: class org.apache.jsp.javabean12_jsp
sql_data sqlbean = null;
^An error occurred at line: 4 in the jsp file: /javabean12.jspGenerated servlet error:
D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:47: cannot resolve symbol
symbol : class sql_data
location: class org.apache.jsp.javabean12_jsp
sqlbean = (sql_data) pageContext.getAttribute("sqlbean", PageContext.SESSION_SCOPE);
^An error occurred at line: 4 in the jsp file: /javabean12.jspGenerated servlet error:
D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:50: cannot resolve symbol
symbol : class sql_data
location: class org.apache.jsp.javabean12_jsp
sqlbean = (sql_data) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "sql_data");
^An error occurred at line: 6 in the jsp file: /javabean12.jspGenerated servlet error:
D:\Apache Group\Tomcat 4.1\work\Standalone\localhost\lhnet\javabean12_jsp.java:63: cannot resolve symbol
symbol : class ResultSet
location: class org.apache.jsp.javabean12_jsp
ResultSet rs=sqlbean.executeQuery(sql);
好象说没找到sql_data.class,我已经把他放到 class目录下了呀。
郁闷!!!!
只要放到相应的class目录中是不是就可以了?
那为什么我的程序不能找到我的class sql_data 呢?
jdbc与jdbc-odbc连接数据库不太一样
conn=DriverManager.getConnection(ConnStr,user,password);
解决登陆空的问题!!!还有个问题是:
为什么bean一定要放到package里?先前我没放到package里,没能正常运行?不知何故?