0 0

关于JTable 连接数据库读取数据及删除5

1.实现student表数据查询并显示
2.查询到的结果按总分进行降序排序
3.能对选择的记录进行删除,并删除数据库中对应的记录
希望能够讲讲大概的思路
2014年5月22日 23:33
  • 大小: 57.8 KB

1个答案 按时间排序 按投票排序

0 0

简单测试
1.首先把jtable放到JFrame里面的
2.从数据库读取数据设置到table里面的
3.根据分数在数据里面order by asc/desc
4.删除选择的( int index = this.getSelectedRow();
  ((DefaultTableModel) this.getModel()).removeRow(index))
然后在调用数据库里面的方法delete

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
 
public class DisplayEmpData extends JFrame implements ActionListener {
 
    JFrame frame1;
    JLabel l0, l1, l2;
    JComboBox c1;
    JButton b1;
    Connection con;
    ResultSet rs, rs1;
    Statement st, st1;
    PreparedStatement pst;
    String ids;
    static JTable table;
    String[] columnNames = {"User name", "Email", "Password", "Country"};
    String from;
 
    DisplayEmpData() {
 
        l0 = new JLabel("Fatching Employee Information");
        l0.setForeground(Color.red);
        l0.setFont(new Font("Serif", Font.BOLD, 20));
        l1 = new JLabel("Select name");
        b1 = new JButton("submit");
 
        l0.setBounds(100, 50, 350, 40);
        l1.setBounds(75, 110, 75, 20);
        b1.setBounds(150, 150, 150, 20);
        b1.addActionListener(this);
 
        setTitle("Fetching Student Info From DataBase");
        setLayout(null);
        setVisible(true);
        setSize(500, 500);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
        add(l0);
        add(l1);;
        add(b1);
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            con = DriverManager.getConnection("jdbc:oracle:thin:@mcndesktop07:1521:xe", "sandeep", "welcome");
            st = con.createStatement();
            rs = st.executeQuery("select uname from emp");
            Vector v = new Vector();
            while (rs.next()) {
                ids = rs.getString(1);
                v.add(ids);
            }
            c1 = new JComboBox(v);
            c1.setBounds(150, 110, 150, 20);
 
            add(c1);
            st.close();
            rs.close();
        } catch (Exception e) {
        }
    }
 
    public void actionPerformed(ActionEvent ae) {
        if (ae.getSource() == b1) {
            showTableData();
        }
 
    }
 
    public void showTableData() {
 
        frame1 = new JFrame("Database Search Result");
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame1.setLayout(new BorderLayout());
//TableModel tm = new TableModel();
        DefaultTableModel model = new DefaultTableModel();
        model.setColumnIdentifiers(columnNames);
//DefaultTableModel model = new DefaultTableModel(tm.getData1(), tm.getColumnNames());
//table = new JTable(model);
        table = new JTable();
        table.setModel(model);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        table.setFillsViewportHeight(true);
        JScrollPane scroll = new JScrollPane(table);
        scroll.setHorizontalScrollBarPolicy(
                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        scroll.setVerticalScrollBarPolicy(
                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        from = (String) c1.getSelectedItem();
//String textvalue = textbox.getText();
        String uname = "";
        String email = "";
        String pass = "";
        String cou = "";
 
        try {
            pst = con.prepareStatement("select * from emp where UNAME='" + from + "'");
            ResultSet rs = pst.executeQuery();
            int i = 0;
            if (rs.next()) {
                uname = rs.getString("uname");
                email = rs.getString("umail");
                pass = rs.getString("upass");
                cou = rs.getString("ucountry");
                model.addRow(new Object[]{uname, email, pass, cou});
                i++;
            }
            if (i < 1) {
                JOptionPane.showMessageDialog(null, "No Record Found", "Error", JOptionPane.ERROR_MESSAGE);
            }
            if (i == 1) {
                System.out.println(i + " Record Found");
            } else {
                System.out.println(i + " Records Found");
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
        frame1.add(scroll);
        frame1.setVisible(true);
        frame1.setSize(400, 300);
    }
 
    public static void main(String args[]) {
        new DisplayEmpData();
    }
}

2014年5月22日 23:53

相关推荐

    Java + JDBC + Sql 2005 + JTable 同步更新数据库

    Java + JDBC + Sql 2005 + JTable ...1,从 SQL 中读取数据,并显示在 JTable 中。 2,在 JTable 中实现排序,并可实现不同数据类型用不同的排序方法 3,JTbale 中添加、删除、更新行,并实时更新到数据库中 源码说明 ...

    从数据库中读取数据到Table中

    在IT行业中,数据库是存储和管理数据的核心工具,而从数据库中读取数据并将其...这些内容涵盖了数据库操作、Java编程、数据模型化和用户界面设计等多个领域,对于理解如何从数据库读取数据并显示在表格中具有重要价值。

    简单的图形界面实现数据库的增删查改

    2. **连接数据库**: - 引入JDBC(Java Database Connectivity)API,它是Java与数据库交互的标准接口。 - 加载数据库驱动,例如对于MySQL,可以使用`Class.forName("com.mysql.jdbc.Driver")`。 - 创建数据库...

    java swing数据的增删改查

    **使用JDBC连接数据库** 在Java中,我们通常使用Java Database Connectivity (JDBC) API来与数据库交互。需要导入JDBC驱动,并通过`Class.forName()`加载驱动,`Connection`对象代表与数据库的连接,`Statement`或`...

    Java读取数据库记录并以表格形式显示.rar

    通过以上步骤,我们可以实现Java程序从数据库读取数据并以表格形式显示。在实际项目中,可能还会涉及事务管理、并发控制、性能优化等多个方面。这个压缩包中的示例代码可能涵盖了这些概念,帮助初学者理解并掌握相关...

    JDBCJTable_java编程_

    结合JDBC,这个程序可能实现了从数据库读取数据,并将其填充到JTable中,使用户能够方便地查看和管理数据库记录。 在实现这个功能时,开发者首先需要导入相关的JDBC驱动,例如对于MySQL,是`com.mysql.jdbc.Driver`...

    java做的数据库管理系统,swing组件开发,sql server2000数据库

    在这个项目中,开发者使用Java的Swing组件创建了一个用户界面,允许用户与SQL Server 2000数据库进行交互,实现数据的基本操作,如查询、插入、更新和删除。 Swing是Java的一个图形用户界面(GUI)工具包,它是Java ...

    java数据库中表的显示

    接下来,我们将详细分析如何实现从MySQL数据库读取数据并在JTable中显示这些数据。 ##### 3.1 初始化Swing组件 ```java import java.awt.EventQueue; import javax.swing.JButton; import javax.swing.JFrame; ...

    数据库综合例程

    例如,使用Java的Swing库,你可以创建一个JTable来显示数据库中的数据,并监听表格的“行选择”事件来更新当前记录的显示。 在数据库操作中,安全性、性能和正确性是至关重要的。确保对当前记录的访问和修改符合...

    Java数据库系统项目开发实践--超市管理系统

    4. **数据库连接与操作**:使用JDBC(Java Database Connectivity)进行数据库操作,包括数据库的连接、查询、插入、更新和删除数据。理解SQL语言,如SELECT、INSERT、UPDATE、DELETE语句,以及事务处理和预编译语句...

    使用java对学生表进行增删改查

    开发者需要在程序中加载数据库驱动(如mssql-jdbc),然后通过DriverManager.getConnection()方法建立数据库连接。连接字符串通常包含数据库URL、用户名和密码。一旦连接建立,就可以通过Statement或...

    简单的用Java编界面访问数据库实现删改等功能的源码

    JDBC 是 Java 开发工具包中用于连接数据库的标准 API。通过 JDBC,开发者可以编写跨平台的数据库应用程序,而无需关心具体的数据库类型。 #### 关键操作介绍: - **Connection**:代表与数据库之间的连接。 - **...

    sql.zip_SQL java_java sql_sql 查询_数据库 java_结果 查询

    在Java程序中,我们可以通过建立JDBC连接,执行SQL语句,如SELECT、INSERT、UPDATE或DELETE,来读取、添加、修改或删除数据库中的记录。 描述中提到的“sql查询”是数据库操作的核心部分。SQL(Structured Query ...

    Java表格组件在数据库的应用.zip

    这些框架简化了数据库操作,将SQL查询转化为Java代码,使数据的读取、更新和删除更加直观。例如,通过JPA,可以创建一个实体类,映射到数据库表,然后在表格组件中直接展示这些实体实例。 当从数据库加载数据到表格...

    数据库系统代码

    该代码示例是一个Java应用程序,它实现了与数据库的交互,并且具有用户...这个Java程序展示了数据库操作的基本流程,以及如何将数据绑定到用户界面组件上,提供了对数据库数据的CRUD(创建、读取、更新、删除)操作。

    sun netbeans 数据库开发演示视频

    4. **增删改查(CRUD)操作**:这是数据库应用的基础,包括Create(创建)、Read(读取)、Update(更新)和Delete(删除)数据。在视频中,开发者很可能会详细解释如何通过Swing事件监听器与数据库交互,执行这些...

    java-swing-mysql数据库管理.rar

    3. **SQL查询**:在工具中,用户可能执行CRUD(创建、读取、更新、删除)操作,这就需要编写SQL语句。例如,`SELECT`语句用于查询数据,`INSERT`用于添加新记录,`UPDATE`用于修改已有记录,`DELETE`用于删除记录。 ...

    数据库课程设计报告 .pdf

    Java连接MySQL数据库的关键技术包括数据的CRUD操作(创建、读取、更新和删除)。确保MySQL驱动程序mysql-connector-java-5.1.8-bin.jar已添加到Eclipse项目的类路径中,以便Java程序能正确识别和访问数据库。 接...

    java JUI 简易通讯录实现(mysql数据库)

    3. **CRUD操作**:利用JDBC,我们可以执行CRUD(创建、读取、更新和删除)操作。例如,插入新联系人: ```java PreparedStatement pstmt = conn.prepareStatement("INSERT INTO Contacts (name, phone, email) ...

    课程设计-基于java swing带GUI界面的售房管理系统(源码+数据库).zip

    项目包含源代码和配套的数据库,适合学习Java GUI编程、数据库连接及实际应用系统的开发。 在Java Swing中,我们可以使用各种组件如JFrame、JButton、JLabel、JTable等来构建用户界面。此系统可能使用JFrame作为主...

Global site tag (gtag.js) - Google Analytics