A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 酱爆 高级黑马   /  2013-10-28 15:36  /  1247 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨增坤 于 2013-10-28 23:18 编辑

这是一个JTable,我怎么能获取其中一行的数据??

2 个回复

倒序浏览
  1. int rowNun = this.jt.getSelectedRow();
  2.                         String sql = "delete from meb where meb_Id=?";
  3.                         MebModel mebmodel = new MebModel();
  4.                         int[] paras = {Integer.valueOf(String.valueOf(mebmodel.getValueAt(rowNun, 0))).intValue()};
  5.                         MebModel temp = new MebModel();
  6.                         if(temp.del(sql, paras))
  7.                         {
  8.                                 JOptionPane.showMessageDialog(this, "删除成功");
  9.                                 queryAll();
  10.                                 new AddRecord("删除人员信息",manager.getName());
  11.                                 return;
  12.                         }
  13.                         else
  14.                         {
  15.                                 JOptionPane.showMessageDialog(this, "删除失败");
  16.                         }
复制代码
  1. package manager.model;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.util.Vector;
  5. import javax.swing.table.AbstractTableModel;
  6. import manager.server.*;
  7. public class MebModel extends AbstractTableModel
  8. {
  9.         ServerSql server=null;
  10.         Vector rowData=null;
  11.         Vector columnNames=null;
  12.        
  13.         public ResultSet queryExcetue(String sql,String[] paras)
  14.         {
  15.                 columnNames = new Vector();
  16.                 columnNames.add("职员编号");//12
  17.                 columnNames.add("姓名");
  18.                 columnNames.add("部门");
  19.                 columnNames.add("性别");
  20.                 columnNames.add("地址");
  21.                 columnNames.add("职务");
  22.                 columnNames.add("职称");
  23.                 columnNames.add("出生年月");
  24.                 columnNames.add("学历");
  25.                 columnNames.add("家庭电话");
  26.                 columnNames.add("工作电话");
  27.                 columnNames.add("工作状态");
  28.                 rowData = new Vector();
  29.                 server = new ServerSql();
  30.                
  31.                 ResultSet res = server.queryExcetue(sql, paras);
  32.                 try
  33.                 {
  34.                         while(res.next())
  35.                         {
  36.                                 Vector hang = new Vector();
  37.                                 hang.add(res.getInt(1));
  38.                                 hang.add(res.getString(2));
  39.                                 hang.add(res.getString(3));
  40.                                 hang.add(res.getString(4));
  41.                                 hang.add(res.getString(5));
  42.                                 hang.add(res.getString(6));
  43.                                 hang.add(res.getString(7));
  44.                                 hang.add(res.getString(8));
  45.                                 hang.add(res.getString(9));
  46.                                 hang.add(res.getString(10));
  47.                                 hang.add(res.getString(11));
  48.                                 hang.add(res.getString(12));
  49.                                 rowData.add(hang);
  50.                         }
  51.                 } catch (SQLException e) {
  52.                         // TODO Auto-generated catch block
  53.                         e.printStackTrace();
  54.                 }
  55.                 finally
  56.                 {
  57.                         try {
  58.                                 if(server!=null)
  59.                                 {
  60.                                         server.myclose();
  61.                                 }
  62.                         } catch (Exception e) {
  63.                                 // TODO Auto-generated catch block
  64.                                 e.printStackTrace();
  65.                         }
  66.                 }
  67.                 return res;
  68.                
  69.         }
  70.         //更新
  71.         public boolean updateExcetue(String sql,String[] paras)
  72.         {
  73.                 ServerSql serversql = new ServerSql();
  74.                 return serversql.updateExetue(sql, paras);
  75.         }
  76.         public boolean del(String sql,int[] paras)
  77.         {
  78.                 ServerSql serversql = new ServerSql();
  79.                 return serversql.updateEx(sql, paras);
  80.         }
  81.        
  82.        
  83.         @Override
  84.         public int getRowCount() {
  85.                 // TODO Auto-generated method stub
  86.                 return this.rowData.size();
  87.         }

  88.         @Override
  89.         public int getColumnCount() {
  90.                 // TODO Auto-generated method stub
  91.                 return this.columnNames.size();
  92.         }

  93.         //得到l列名
  94.         @Override
  95.         public String getColumnName(int column) {
  96.                 // TODO Auto-generated method stub
  97.                 return (String)this.columnNames.get(column);
  98.         }

  99.         @Override
  100.         public Object getValueAt(int rowIndex, int columnIndex) {
  101.                 // TODO Auto-generated method stub
  102.                 //返回某行某列的值
  103.                 return ((Vector)this.rowData.get(rowIndex)).get(columnIndex);
  104.         }

  105. }
复制代码
JTable本身有让你获取某一行的方法:int rowNun = this.jt.getSelectedRow();
在Model中有得到某行某列的方法getValueAt(int row,int col)

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
孙涛00 发表于 2013-10-28 19:39
JTable本身有让你获取某一行的方法:int rowNun = this.jt.getSelectedRow();
在Model中有得到某行某列的方 ...

搞定了 thanks!!:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马