
程序写的有问题,出现了javasqlSQLException: No data found,一个可能是从ResultSet中获取值时变量名称写错了,第二个可能是重复获取了(就是如果没有next的话,不能从ResultSet中多次获取同一个参数);你再仔细检查下吧
如果是的话,按下面的思路做,相信你能做出来:
首先你访问这个界面前,要先去查询数据库中的数据,一般这些数据都装到一个list(集合,不一定用List)中去,然后再转到(如果是web项目,就是跳转了,这时把这个list装到request中,requestsetAt(“list”,lits);如果用的是桌面应用程序,就把这个list以参数的形式传到界面类上去)你的界面上,在界面上做一个下拦菜单,然后呢,就是一个循环输出list中包含的所有数据库中的数据,把每次循环取出来的信息放入下拉菜单的选项中去,这样,有多少数据,这个下拉菜单就有多少选项了,不知道是不是你想要的结果,如果不是,你可以再说详细点,方便大家为你解答,。
package cndb;//这个是自己建的包,这样子方便用的时候就可以通过包名来确定路径了
import javasql;
import javautilArrayList;
public class DbDao {
Connection con=null;//连接
Statement stm=null;//执行SQL语句
ResultSet rs=null;//保存查询结果
public void connectDb(){
try {
ClassforName("commysqljdbcDriver");//这句固定的
con = DriverManagergetConnection("jdbc:mysql://127001:3306/mydb","root","root");//其中的mydb是数据库名,后面两个root分别是数据库用户名和密码(我用的是MySQL数据库)
stm = concreateStatement();
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
public ArrayList executeQuery(String sql){//这个方法是用来查询数据库的,并且将查询的数据放到链表中
ArrayList list = new ArrayList();
try {
rs = stmexecuteQuery(sql);
while(rsnext()){
//这里写入你要查询的数据,得由你自己写了。
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return list;
}
public void closeDb(){//关闭数据库
try {
if(rs!=null) rsclose();
if(stm!=null) stmclose();
if(con!=null) conclose();
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
以上就是关于Java程序查询数据库的问题全部的内容,包括:Java程序查询数据库的问题、在java中,在下拉列表查询数据库的所有数据怎么查、java中怎么写一个公共的查询数据库方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)