关于JDBC的问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 01:26:32
我是通过JDBC来将JSP页面和后台sql2000连起来的 可是现在遇到了一个非常奇怪的问题 就是我的JSP能连上数据库 但是不能执行读取数据和添加数据的一系列操作 真的不知道这是什么原因
我的JSP代码是:
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=null;
conn=DriverManager.getConnection("jdbc:odbc:dbsource","sa","");
%>
<%=conn %>
<%String sql="insert into db_Customer values ('seol',123456','50074@supinfo.com','female','123456','123456','123456','123456')";
boolean sert=condata.executeInsert(sql);
%>
<%=sert %>
<%
ResultSet rs=null;
rs=condata.executeQuery("SELECT * FROM db_Customer");
if(rs==null)
{
%>
<%="Exception" %>
<%}
else
{
%>
<%=rs.next()
%>
<% } %>
运行的结果就是sun.jdbc.odbc.JdbcOdbcConnection@

你要明白一点,你在JSP页面上的conn实例与BEAN里面的conn实例没有任何联系.
所以把下这行代码加到BEAN的public ResultSet executeQuery(String sql)方法中试试:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
不过如果是这个问题的话,你前面运行的时候应该会报异常,也就是说,
e.printStackTrace();
System.out.println("Query Exception");
这两行代码会执行,你看一下控制台,是不是报了SQLException异常,并且打印了"Query Exception"的字符串。

你用的JdbcOdbcDriver,设置了数据源没有?

<%=rs.next()
少个;号。

我读取rs是用下面的循环语句:

result = stat.executeQuery("Select * From admin");

while(result.next())
{
System.out.println(result.getString(1));
System.out.println(result.getString(2));

}

你参考一下看看能不能成功!?

rs=condata.executeQuery("SELECT * FROM db_Customer");
condata 应该是个Connection对象,而不是Results对象,下面的方法用不着rs,写个返回Connection连接对象的方法就可以

ResultSet rs=null;
rs=condata.executeQuery("SELECT * FROM db_Customer");
改成
ResultSet rs=c