前不久才开始自学,自己边学边做一点东西,可下面这个方法不会写,高手能否指教一下?
数据库和界面上有2个格式完全一样的表格,怎样通过按钮事件把数据库表格里的数据输出到界面表格里面去呢?即使每个单元格都分别对应。刚学,水平很菜的,在书上也没找到相关的可以参考,所以高手指导能否详细一点?
数据库和界面上有2个格式完全一样的表格,怎样通过按钮事件把数据库表格里的数据输出到界面表格里面去呢?即使每个单元格都分别对应。刚学,水平很菜的,在书上也没找到相关的可以参考,所以高手指导能否详细一点?
package petcol.DAO;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import petcol.conManager.*;
import petcol.jbean.*;
import java.util.ArrayList;public class caseDAO {
conMan conmanager = new conMan();//得到conMan的实例,他里面有个得到Connection的方法 public boolean caseInsert(caseHistory cus) { //插入记录 Connection con = null;
PreparedStatement pstm = null; try {
con = conmanager.GetCon();//得到connection
String sqlstr =
"insert into case_history(petname,loginname,doctorId,timeIn,symptom,rx) values(?,?,?,?,?,?)"; pstm = con.prepareStatement(sqlstr);
pstm.setString(1, cus.getPetname());//给实体类值
pstm.setString(2, cus.getLoginname());
pstm.setString(3, cus.getDoctorId());
pstm.setString(4, cus.getTimeIn());
pstm.setString(5, cus.getSymptom());
pstm.setString(6, cus.getRx());
if (pstm.executeUpdate() == 1) {//如果返回记录条数为一,关闭连接,插入成功
con.close();
return true;
}
else {
con.close();
return false;
} }
catch (Exception ex) {
ex.printStackTrace();
}
return false; } public boolean caseUpdate(caseHistory cus, String petname) {//以下类推 Connection con = null;
PreparedStatement pstm = null; try {
con = conmanager.GetCon();
String sqlstr =
"update case_history set petname=?,loginname=?,doctorId=?,timeIn=?,symptom=?,rx=? where petname=?"; pstm = con.prepareStatement(sqlstr);
pstm.setString(1, cus.getPetname());
pstm.setString(2, cus.getLoginname());
pstm.setString(3, cus.getDoctorId());
pstm.setString(4, cus.getTimeIn());
pstm.setString(5, cus.getSymptom());
pstm.setString(6, cus.getRx());
pstm.setString(7, petname);
if (pstm.executeUpdate() == 1) {
con.close();
return true;
}
else {
con.close();
return false;
} }
catch (Exception ex) {
ex.printStackTrace();
return false; } } public ArrayList caseSelect(String petname, String loginname) {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
ArrayList list = new ArrayList();
try {
caseHistory casehitory = new caseHistory();
con = conmanager.GetCon();
String sqlstr =
"select * from case_history where petname=? and loginname=?";
pstm = con.prepareStatement(sqlstr);
pstm.setString(1, petname);
pstm.setString(2, loginname);
rs = pstm.executeQuery();
if (rs.next()) {
casehitory.setPetname(rs.getString("petname"));
casehitory.setLoginname(rs.getString("loginname"));
casehitory.setDoctorId(rs.getString("doctorId"));
casehitory.setTimeIn(rs.getString("timeIn"));
casehitory.setSymptom(rs.getString("symptom"));
casehitory.setRx(rs.getString("rx"));
list.add(casehitory);
return list;
}
else {
con.close();
return null;
} }
catch (Exception ex) {
ex.printStackTrace();
return null; }
} public boolean caseDel(String petName) {
Connection con = null;
PreparedStatement pstm = null; try {
con = conmanager.GetCon();
String sqlstr = "delete from case_history where petname=?";
pstm=con.prepareStatement(sqlstr);
pstm.setString(1, petName);
if (! (pstm.executeUpdate() > 0)) {
return false;
} }
catch (Exception ex) {
ex.printStackTrace();
return false;
}
finally {
try {
con.close();
}
catch (Exception ex) {
ex.printStackTrace();
} }
return true;
}}
你要显示,直接在JSP网页
<%
caseDAO csDAO=new caseDAO();
csDAO.方法名,如果是查询,方法返回的是RS,你这里用一个RS接收,然后后面写一个FOR语句打印表格就是了,或者你用EL表达式来取,直接打印就行了
%>
2.将ResultSet放到List(ArrayList)中.
3.用setIuput(list)将内容放到Table中.
4.用内容器和标签器.
创建一个statement对象 执行"select * from 表名" SQL语句 返回一个ResultSet对象 然后利用一个循环 循环条件是ResultSet对象的next()方法
每循环一次就是数据库表中的一条纪录 然后把这条纪录的每一列的信息添加到Vector或Object[] 数组中 然后 使用表模型对象的addRow() 方法把着条纪录加到表模型中就可以了 这个方法的参数可以是Vector 或者Object[] 就可以向界面上的表中添加数据了