社区
Java SE
帖子详情
JTable 中如何实现增加、删除、修改等操作(UP有分)。
Goal3
2005-11-07 12:46:09
一直做B/S开发,对swing开发还不是很了解,想问一下各位大侠:
在一个JTable中,实现增加、删除、修改等操作?
我知道,如果是用JBuilder公司的dbSwing控件的话,里面有一个JdbTable,可以实现将一个TABLE中的所有修改过的(包括增加、删除、修改)数据,通过dataset保存到数据库中。
但如果,自己写的话,要如何实现呢?
给个思路也行啊~~
...全文
849
12
打赏
收藏
JTable 中如何实现增加、删除、修改等操作(UP有分)。
一直做B/S开发,对swing开发还不是很了解,想问一下各位大侠: 在一个JTable中,实现增加、删除、修改等操作? 我知道,如果是用JBuilder公司的dbSwing控件的话,里面有一个JdbTable,可以实现将一个TABLE中的所有修改过的(包括增加、删除、修改)数据,通过dataset保存到数据库中。 但如果,自己写的话,要如何实现呢? 给个思路也行啊~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icefire1512
2005-12-27
打赏
举报
回复
得修改TableModel中的数据,弄不好连TableModel都要改
sean_lord
2005-12-22
打赏
举报
回复
如果有多个数据表的话,是不是还要考虑数据库的一致性,如果是这样的话,上面的那些方法是不是仍然还适用呢?谢谢!
gaizaozhe
2005-12-21
打赏
举报
回复
gary_jojo(英雄!哗,大英雄!)
请问下...
你用你说的那种方法时....在更新和插入操作的时候...
是使用resultSet的updatexxx方法...还是使用执行SQL语句的方法
最近在做一个课程设计...用JDBC连接数据库...
刚开始的时候用的也是你说的那个方法...但是在用resultSet的updatexxx更新和插入数据
的时候...却遇到了类型匹配问题.....到现在还没搞懂~~~
caiway
2005-12-15
打赏
举报
回复
up
gary_jojo
2005-12-08
打赏
举报
回复
不用啊,你每修改一条记录,根据主键把数据库里相应的更新就可以啦,其他的不用动.
Goal3
2005-11-10
打赏
举报
回复
gary_jojo(英雄!哗,大英雄!) 兄弟的方法好象可以,我回去再仔细看一下。
保存时,是要将vector里面的内容全部存回到数据库吗? 还是很麻烦的,因为,你要将VECTOR里的每条记录和数据库里的进行比较,再决定是inert 还是 UPDATE, 操作数据的次数是不是太多了?
zhouqi724
2005-11-09
打赏
举报
回复
去看看jdk1.5里的demo程序
abcd9845
2005-11-09
打赏
举报
回复
你可以建立一个空白的table来进行输入,可以用按钮来控制增加和减少行
如果有原来的数据保存实现起来很麻烦
Goal3
2005-11-09
打赏
举报
回复
楼上的: 哪是要把所有的jTable里的值都保存吗?
还是只保存修改过的数据?
gary_jojo
2005-11-09
打赏
举报
回复
我是这样做的
1.设置自己的TABLEMODEL,包括TITLE和存放数据的VECTOR,我是EXTENDS了ABSTRACTTABLEMODEL的,你也可以直接使用DEFAULTTABLEMODEL
2.遍历数据库,把每个字段的值存到VECTOR里.每条记录又是一个VECTOR,显示在表上.
3.如果需要添加删除修改只要先修改VECTOR中的数据,然后等保存的时候再组成相应的SQL语句传给数据库实现真正的物理操作
下面这篇对使用TABLE的初学者(比如我)还是蛮有用的,上手比较快
http://www.matrix.org.cn/resource/article/481.html
abcd9845
2005-11-07
打赏
举报
回复
增加把jtable值取出来保存就可以了.getValue(row,column)
删除有两种一种是你所选择的行进行删除,第二个就是全部删除。删除你选择的可以判断你选择的是第几行然后把值取出来在数据库里面删除,全部删除就是返回所有行做一个循环删除
修改意思也差不多如果是数据库主健那行最好设置成不可修改
网络精灵
2005-11-07
打赏
举报
回复
我这有个小例子,不知对你是否有帮助。
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
class TableTest extends Frame {
public static void main(String args[]) {
JFrame frame =new TableFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class TableFrame extends JFrame{
public TableFrame(){
setTitle("");
setSize(WIDTH,HEIGHT);
TableTestModel model=new TableTestModel(getResultSet());
JTable table=new JTable(model);
getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
}
public ResultSet getResultSet(){
try {
Class.forName("org.gjt.mm.mysql.Driver");
String url="jdbc:mysql://localhost:1982/test";
String user="root";
String pass="";
Connection con=DriverManager.getConnection(url,user,pass);
PreparedStatement pst=con.prepareStatement("Select * from users");
//pst.addBatch();
rs=pst.executeQuery();
return rs;
}
catch (Exception ex) {
System.out.println (ex);
return null;
}
}
private ResultSet rs;
private static final int WIDTH=400;
private static final int HEIGHT=300;
}
class TableTestModel extends AbstractTableModel{
public TableTestModel(ResultSet aResultSet){
rs=aResultSet;
try {
rsmd=rs.getMetaData();
}
catch (Exception ex) {
}
}
public Object getValueAt(int r,int c){
try {
rs.absolute(r+1);
return rs.getObject(c+1);
}
catch (Exception ex) {
return null;
}
}
public int getColumnCount(){
try {
return rsmd.getColumnCount();
}
catch (Exception ex) {
return 0;
}
}
public int getRowCount(){
try {
rs.last();
return rs.getRow();
}
catch (Exception ex) {
return 0;
}
}
public boolean isCellEditable(int r,int c){
return true;
}
public String getColumnName(int c){
try {
return rsmd.getColumnName(c+1);
}
catch (Exception ex) {
return "";
}
}
private ResultSet rs;
private ResultSetMetaData rsmd;
}
swing的
JTable
控件的使用
TableModel 是用于提供数据模型的核心接口,
Jtable
的的表格数据实际就是在这个对象里。一般表格数据的添加、
删除
、编辑,首先获取到这个对象,然后进行
修改
操作
。TableColumnModel管理
JTable
列的核心接口,负责维护表格
中
所有列的状态、顺序和属性。通过
实现
这个接口,你可以完全控制表格
中
每个单元格的显示方式。完成这个需求,需要同时使用TableCellRenderer和CellEditor来
实现
。表格数据编辑
操作
得通过他来
实现
,例如是否可编辑、触发编辑等。
java
jtable
用法_
JTable
用法-实例
前几篇文章介绍了
JTable
的基本用法,本文
实现
一个简单的
JTable
,算是前文的一个总结,并造福供拷贝党们。一、主要功能1.数据的增删改;2.渲染器:“Vegetarian”列存放布尔值,以checkBox形式显示;“Sport”列存放字符串,以comboBox形式显示;3.编辑器:“Name”的编辑器
实现
一个按钮,按下时弹出对话框;4.ToolTip:各列和各单元格均具有自己的ToolTip,...
Java table隐藏行线_如何在
jtable
中
隐藏某些行(不是
删除
行),要多少分给多少分,up
有分
...
如题,谢谢大家了。|我曾经变写过一个model,可以
实现
你的要求,但是效果不好看,我后来也没有正式用它,你如果要可以发给你。|有一个变通的办法,可行不可行没试过:表对数据的显示,是通过Model的方法publicObjectgetValueAt(introw,intcol)来得到某行某列的数据的,所以在你自己的Model
中
可以改变次方法,如果你想隐藏几行,就在数据Vector或数组
中
添...
JTable
如何使用Table 利用
JTable
类,可以以表格的形式展示数据,可设置允许用户编辑数据。
JTable
本身不拥有或者缓存数据;它只是数据的视图。这里有一个放在滚动面板上的典型表格: 本文展示如何完成一些常见的表格相关的任务:包括以下部分: (1)创建一个简单的表格 (2)向容器添加表格 (3)改变每每一栏的宽度 (4)用户
Java Swing
JTable
API
利用
JTable
类,可以以表格的形式展示数据,可设置允许用户编辑数据。
JTable
本身不拥有或者缓存数据;它只是数据的视图。这里有一个放在滚动面板上的典型表格: 本文展示如何完成一些常见的表格相关的任务:包括以下部分: (1)创建一个简单的表格 (2)向容器添加表格 (3)改变每每一栏的宽度 (4)用户选择 (5)创建表格模型 (6)监听数据改变 (7)点燃数据...
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章