当前位置: 技术问答>java相关
求助: 一个很奇怪的问题(bean中查询数据库)急!
来源: 互联网 发布时间:2015-09-20
本文导语: 在bean中实现对数据库的查询,第一次运行时,结果是正确的,但是当改变search函数中的查询条件再次运行时,结果竟然和第一次运行的结果相同,没有改变,为什么? (反复试过多次都是如此) jsp文件: test bean文件: ...
在bean中实现对数据库的查询,第一次运行时,结果是正确的,但是当改变search函数中的查询条件再次运行时,结果竟然和第一次运行的结果相同,没有改变,为什么?
(反复试过多次都是如此)
jsp文件:
test
bean文件:
package myexample.test;
import java.sql.*;
import javax.servlet.http.*;
public class testjdbc{
private String s;
public void search() throws SQLException,Exception{
ResultSet myResults;
String queryString="select * from usertable where userid='hd'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myconn=DriverManager.getConnection("jdbc:odbc:shop","sa","");
Statement mystmt=myconn.createStatement();
myResults=mystmt.executeQuery(queryString);
if (myResults.next())
{s=myResults.getString("password");
}
else
{s="null";}
myResults.close();
mystmt.close();
myconn.close();
}
public String getS(){
return s;
}
}
(反复试过多次都是如此)
jsp文件:
test
bean文件:
package myexample.test;
import java.sql.*;
import javax.servlet.http.*;
public class testjdbc{
private String s;
public void search() throws SQLException,Exception{
ResultSet myResults;
String queryString="select * from usertable where userid='hd'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myconn=DriverManager.getConnection("jdbc:odbc:shop","sa","");
Statement mystmt=myconn.createStatement();
myResults=mystmt.executeQuery(queryString);
if (myResults.next())
{s=myResults.getString("password");
}
else
{s="null";}
myResults.close();
mystmt.close();
myconn.close();
}
public String getS(){
return s;
}
}
|
改过Bean服务端得重启
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
|
package myexample.test;
为什么要用2个方法啊,一个就够了!
import java.sql.*;
import javax.servlet.http.*;
public class testjdbc{
private String s;
public String search() throws SQLException,Exception{
ResultSet myResults;
String queryString="select * from usertable where userid='hd'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myconn=DriverManager.getConnection("jdbc:odbc:shop","sa","");
Statement mystmt=myconn.createStatement();
myResults=mystmt.executeQuery(queryString);
if (myResults.next())
{s=myResults.getString("password");
}
else
{s="null";}
myResults.close();
mystmt.close();
myconn.close();
return s;
}
}
为什么要用2个方法啊,一个就够了!
import java.sql.*;
import javax.servlet.http.*;
public class testjdbc{
private String s;
public String search() throws SQLException,Exception{
ResultSet myResults;
String queryString="select * from usertable where userid='hd'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myconn=DriverManager.getConnection("jdbc:odbc:shop","sa","");
Statement mystmt=myconn.createStatement();
myResults=mystmt.executeQuery(queryString);
if (myResults.next())
{s=myResults.getString("password");
}
else
{s="null";}
myResults.close();
mystmt.close();
myconn.close();
return s;
}
}
|
如果要改变查询条件,必须动态创建sql语句啊。想在jsp页面动态创建的话,你的search()方法必须要有传入参数才行。
|
bean都没有接条件的地方如何改变?
应该这样改造你的bean
public void search(String id) throws SQLException,Exception{
ResultSet myResults;
String queryString="select * from usertable where userid='"+ id + "'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myconn=DriverManager.getConnection("jdbc:odbc:shop","sa","");
Statement mystmt=myconn.createStatement();
myResults=mystmt.executeQuery(queryString);
if (myResults.next())
{s=myResults.getString("password");
}
else
{s="null";}
myResults.close();
mystmt.close();
myconn.close();
}
jsp
应该这样改造你的bean
public void search(String id) throws SQLException,Exception{
ResultSet myResults;
String queryString="select * from usertable where userid='"+ id + "'";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection myconn=DriverManager.getConnection("jdbc:odbc:shop","sa","");
Statement mystmt=myconn.createStatement();
myResults=mystmt.executeQuery(queryString);
if (myResults.next())
{s=myResults.getString("password");
}
else
{s="null";}
myResults.close();
mystmt.close();
myconn.close();
}
jsp