如何在JTable中删除数据库中的数据?(jtable删除数据库)

在使用Java编写数据库应用程序时,我们经常需要显示数据并且能够对这些数据进行增、删、改的操作,而在Java中,JTable是一种非常常用的显示数据的组件,其也提供了一些默认的操作,包括删除行,这些操作的实现离不开数据库的操作。在这篇文章中,我们将介绍如何在JTable中删除数据库中的数据。

我们需要建立一个连接到数据库的连接,可以使用JDBC来实现。下面是一个简单的连接数据库方法:

“`

public static Connection getConnection() throws SQLException {

String url = “jdbc:mysql://localhost:3306/mydatabase”;

String user = “root”;

String password = “123456”;

return DriverManager.getConnection(url, user, password);

}

“`

其中,url是数据库的连接地址,mydatabase是数据库名,root是用户名,123456是密码。getConnection方法将返回一个Connection对象,该对象用于与数据库进行通信。

接下来,我们需要从数据库中获取数据并将其显示在JTable中。这可以通过以下代码实现:

“`

public static DefaultTableModel getTableModel() throws SQLException {

String sql = “SELECT * FROM mytable”;

Connection connection = getConnection();

PreparedStatement statement = connection.prepareStatement(sql);

ResultSet resultSet = statement.executeQuery();

ResultSetMetaData metaData = resultSet.getMetaData();

// 获取列名

int columnCount = metaData.getColumnCount();

String[] columnNames = new String[columnCount];

for (int i = 0; i

columnNames[i] = metaData.getColumnName(i + 1);

}

// 获取行数据

List rows = new ArrayList();

while (resultSet.next()) {

Object[] rowData = new Object[columnCount];

for (int i = 0; i

rowData[i] = resultSet.getObject(i + 1);

}

rows.add(rowData);

}

DefaultTableModel model = new DefaultTableModel(columnNames, rows.size());

for (int i = 0; i

Object[] rowData = rows.get(i);

for (int j = 0; j

model.setValueAt(rowData[j], i, j);

}

}

resultSet.close();

statement.close();

connection.close();

return model;

}

“`

上面的getTableModel方法将从mytable表中获取数据,并将其转换为DefaultTableModel对象,该对象用于在JTable中显示数据。

我们需要在JTable中实现删除行的操作。在JTable中删除行的实现可以通过以下代码来完成:

“`

public static void deleteRow(int rowIndex) throws SQLException {

String sql = “DELETE FROM mytable WHERE id=?”;

Connection connection = getConnection();

PreparedStatement statement = connection.prepareStatement(sql);

statement.setInt(1, rowIndex + 1);

statement.executeUpdate();

statement.close();

connection.close();

}

“`

上面的deleteRow方法将从mytable表中删除指定行的数据。该方法通过sql语句来执行删除操作,其中id字段用于标识每一行的唯一性。

现在,我们可以将获取数据、显示数据和删除数据的方法组合在一起,实现在JTable中删除数据库中的数据的功能。实现代码如下:

“`

public class JTableDemo extends JFrame {

private JTable table;

public JTableDemo() throws SQLException {

// 获取表格数据模型

DefaultTableModel model = getTableModel();

// 创建表格

table = new JTable(model);

crollPane scrollPane = new crollPane(table);

getContentPane().add(scrollPane);

// 添加删除按钮

JButton deleteButton = new JButton(“删除”);

deleteButton.addActionListener(e -> {

int rowIndex = table.getSelectedRow();

if (rowIndex != -1) {

try {

deleteRow(rowIndex);

model.removeRow(rowIndex);

} catch (SQLException ex) {

ex.printStackTrace();

JOptionPane.showMessageDialog(this, “删除失败”);

}

} else {

JOptionPane.showMessageDialog(this, “请选择要删除的行”);

}

});

getContentPane().add(deleteButton, BorderLayout.SOUTH);

// 设置窗口属性

setSize(400, 300);

setVisible(true);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void mn(String[] args) throws SQLException {

new JTableDemo();

}

// 获取数据模型

public static DefaultTableModel getTableModel() throws SQLException {

// 获取数据库连接

Connection connection = getConnection();

// 定义sql语句

String sql = “SELECT * FROM mytable”;

// 执行sql语句

PreparedStatement statement = connection.prepareStatement(sql);

ResultSet resultSet = statement.executeQuery();

ResultSetMetaData metaData = resultSet.getMetaData();

// 获取列名

int columnCount = metaData.getColumnCount();

String[] columnNames = new String[columnCount];

for (int i = 0; i

columnNames[i] = metaData.getColumnName(i + 1);

}

// 获取行数据

List rows = new ArrayList();

while (resultSet.next()) {

Object[] rowData = new Object[columnCount];

for (int i = 0; i

rowData[i] = resultSet.getObject(i + 1);

}

rows.add(rowData);

}

// 关闭连接

resultSet.close();

statement.close();

connection.close();

// 创建数据模型

DefaultTableModel model = new DefaultTableModel(columnNames, rows.size());

for (int i = 0; i

Object[] rowData = rows.get(i);

for (int j = 0; j

model.setValueAt(rowData[j], i, j);

}

}

return model;

}

// 删除行

public static void deleteRow(int rowIndex) throws SQLException {

Connection connection = getConnection();

String sql = “DELETE FROM mytable WHERE id=?”;

PreparedStatement statement = connection.prepareStatement(sql);

statement.setInt(1, rowIndex + 1);

statement.executeUpdate();

statement.close();

connection.close();

}

// 获取连接

public static Connection getConnection() throws SQLException {

String url = “jdbc:mysql://localhost:3306/mydatabase”;

String user = “root”;

String password = “123456”;

return DriverManager.getConnection(url, user, password);

}

}

“`

上面的代码中,我们在JFrame窗口中添加了一个JTable用于显示数据,以及一个JButton用于删除行。点击删除按钮将从JTable中获取选中的行,并从数据库中删除该行的数据,同时也将该行从JTable中删除。

相关问题拓展阅读:

  • jtable链接数据库数据显示不全
  • 关于java中JTable中的错误。下面是出错的代码问题。之一次在Jtable中点击一条记录时没,当第二次点击时报

jtable链接数据库数据显示不全

jtable链接数据库数据显示不全?

答案如下:系统代码出弊灶错了!正确的租或扮操作方法是团唤,首先之一步先点击打开设置按钮,然后帐户管理在页面点击账号安全中心进入即可完成!多实践测试。

1,点击data source,显烂岩仔示弹出框,选择schemas勾选要在idea中展示的表如test_liu,点击ok就完成了,我们就可以在idea界面看到素有的mysql表了枣腔

最终解决方法:

1.安装navicat,连接异常的数据库,检查用户的权限是否正常。

检查后,发现root账号的权限已经全部未设置饥汪。

2.修改root权限。

调整完后,修改root密码,去掉上面添加的“skip-grant-tables”参数。

3.重启数据库服务。

重启之后,一切正常。

首先确定你的crollPane是否显示正常。乱睁如果正哗握岁常,那就是把JTable放入crollPane的时皮宽候方置方法的问题了。一般来讲,是初始化一个JTable table = new JTable(),JscrollPane = new crollPane(table),table中数据的修改通过更改table的datamodle就可以了。

关于java中JTable中的错误。下面是出错的代码问题。之一次在Jtable中点击一条记录时没,当第二次点击时报

ArrayIndexOutOfBoundsException

这个是Array数组越界,是个常见的错误,记住这个错误,你以后肯定会碰到的

你的代码不完整 都不滑笑好调试,我就直接看下。

Vector v =new Vector();

你直接这么初始化实例就行了

//一下是实例化Vector时候可以用的构银没造方法

Vector()

构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。

Vector(Collection c)

构造一个包含指定中的元素的向量,这些元素按其的迭代器返回元素的顺序排列。

Vector(int initialCapacity)

使用指定的初始容量和等于零的容量增量构造一个空向量。

Vector(int initialCapacity, int capacityIncrement)

使用指定的初始容量和容量增量构造一个空的向量。

你用的是第三种,

Vector(int initialCapacity, int capacityIncrement)

使用指定的初始容量和容量信搏含增量构造一个空的向量。

你都给这个向量指定了大小了。当然会出错的,

报ArrayIndexOutOfBoundsException错是必然的。

jtable 删除数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jtable 删除数据库,如何在JTable中删除数据库中的数据?,jtable链接数据库数据显示不全,关于java中JTable中的错误。下面是出错的代码问题。之一次在Jtable中点击一条记录时没,当第二次点击时报的信息别忘了在本站进行查找喔。

数据库运维技术服务 » 如何在JTable中删除数据库中的数据? (jtable 删除数据库)

网站小编 普通

分享到:



相关推荐


Discuz图片模块数据库管理技巧 (discuz 图片模块 数据库)


深入探讨Java数据库封装技术 (java数据库 封装)


如何配置SQL Server连接远程数据库 (sqlserver连接远程数据库)


Java数据库映射技术:为什么它是代码编写的关键步骤? (java 数据库映射)


手动复制数据库文件:备份与恢复简便方法 (手动复制了数据库文件)


VB实现SQL数据库表记录添加 (vb向sql数据库表添加记录)


数据库:小白也能看懂的解释 (数据库通俗解释)


探究Graph数据库的优势与应用场景 (graph数据库)

随机文章


数据库创新备份方式,安全性更高 (数据库备份与现有备份不同)

探秘PB9数据库:如何利用PB9读取数据库信息? (pb9能读的数据库)

如何创建Oracle数据库时遇到没监听配置文件的问题? (创建数据库没监听配置文件)

Java数据库新加一列操作指南 (java 数据库添加一列)

CakePHP轻松查询数据库表格 (cakephp查询表数据库)

大学计算机基础:探析数据库概念与应用 (大学计算机基础数据库)

最近更新
  • SQL Server开启进销存管理(sqlserver进销存)
  • Windows用户学习Linux远程连接命令(linux 远程连接命令)
  • 手把手教你使用MySQL创建数据库(mysql手动创建数据库)
  • Oracle数据库的紧缩之路(oracle 数据库收缩)
  • 为项目构建更优性能: 使用Redis缓存(项目中使用redis缓存)
  • 备份简单又高效——Linux开源备份软件(linux 开源备份软件)
  • 改变MSSQL数据库端口号:一个简单的方法指南(改mssql数据库端口号)
  • MSSQL分区表索引:优化数据存储(mssql 分区表 索引)
  • MSSQL客户端工具:快速下载体验!(mssql客户端工具下载)
  • MSSQL独占模式加速数据库更新(mssql 独占 更新)
  • 话题SQLServer:探索最新技术发展趋势(关于SQLServer的)
  • 用Redis维护IP限制列表(redis ip限制)
  • MySQL如何运行SQL文件(mysql运行sql文件)
  • MSSQL 更新文件组结构:简便、高效、安全(MSSQL修改文件组)
  • 优秀的SQL Server:值得信赖的性能特点(sqlserver 特点)
  • MSSQL与RAVN技术结合,更好地保护数据安全(mssql ravn)
  • MSSQL数据库密码:查看指南(mssql数据库密码查看)
  • MSSQL获取月份数据实现方案(mssql 获取月份)
  • Redis缓解项目压力:细节决定成败(项目加redis)
  • 【mssql中实现多个like查询的方式】(mssql 多个like)
  • 标签

    Linux Linux教程 Linux资讯 MacOS MacOS教程 MacOS资讯 MongoDB MongoDB教程 MongoDB资讯 MSSQL MSSQL错误 MySQL mysql教程 MySQL维护 MySQL资讯 Neo4j Neo4j教程 Neo4j资讯 ORACLE Oracle优化 oracle内部视图 oracle参数 oracle开发 oracle异常修复 oracle故障处理 oracle教程 oracle维护 oracle视图 ORACLE资讯 oracle远程维护 ORA错误码 Redis Redis教程 Redis资讯 SQLServer SQLServer报错 SQLServer教程 SQLServer资讯 SQL修复 SQL异常 SQL远程处理 Windows 技术文档 操作系统 数据库

    技术标签:安装配置、性能优化、备份恢复、异常处理、数据迁移、咨询服务。

    本站导航
    • 服务范围
    • 关于我们
    • 隐私政策
    技术文章
    • 数据库技术
    • 操作系统技术
    • 教程服务
    快速搜索

    数据恢复、异常处理、MySQL、Oracle

    本站部分资源来自互联网收集,仅供用于学习和交流,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站站长删除

    © 2020 Theme by - 数据服务 . All rights reserved 苏ICP备15021567号






    • 登录
    • 注册

    安全登录
    立即注册 忘记密码?

    成都创新互联建站主营:成都网站建设、网站维护、网站改版的网站建设公司,提供成都网站制作成都网站建设、成都网站推广、成都网站优化seo、响应式移动网站开发制作等网站服务。

    名称栏目:如何在JTable中删除数据库中的数据?(jtable删除数据库)
    网页网址:http://www.shufengxianlan.com/qtweb/news34/334884.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联