java swing 对数据库的简单操作例子

java图形界面swing 连接sql server数据库 实现研究院信息管理系统(适用于课设、大作业) 之前做了一个外卖点餐系统之后点此查看详情,这段时间在这个系统的基础上改了改帮几位同学实现了其他的几个系统,本文所述的研究院信息管理系统就是其中之一。 一、数据库表及字段 1、学员表 2、消息表 3、技术人员表 4、考核课程表 5、考核成绩表 6、管理员表 7、项目表 8、报名成员表 ... 阅读详情

package test;

/**
 @version 1.0 2007-08-07
 @author cuiweibing
 */

import com.sun.rowset.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.sql.rowset.*;

/**
 * This program shows how to display the result of a database query in a table.
 */
public class ResultSetTable {
 public static void main(String[] args) {
  JFrame frame = new ResultSetFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
 }
}

/**
 * This frame contains a combo box to select a database table and a table to
 * show the data stored in the table
 */
class ResultSetFrame extends JFrame {
 private JScrollPane scrollPane;

 private ResultSetTableModel model;

 private JComboBox tableNames;
 
 private JButton jb1;
 
 private JTextField jtf1;
 
 private JTextField jtf2;

 private ResultSet rs;

 private Connection conn;

 private Statement stat;

 private boolean scrolling;

 
 public ResultSetFrame() {
  setTitle("ResultSet");
  setSize(400, 400);

  /*
   * find all tables in the database and add them to a combo box
   */

  tableNames = new JComboBox();
  tableNames.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent event) {
    try {
     if (scrollPane != null)
      remove(scrollPane);
     String tableName = (String) tableNames.getSelectedItem();
     if (rs != null)
      rs.close();
     String query = "SELECT * FROM " + tableName;
     rs = stat.executeQuery(query);
     if (scrolling)
      model = new ResultSetTableModel(rs);
     else {
      CachedRowSet crs = new CachedRowSetImpl();
      crs.populate(rs);
      model = new ResultSetTableModel(crs);
     }

     JTable table = new JTable(model);
     scrollPane = new JScrollPane(table);
     add(scrollPane, BorderLayout.CENTER);
     validate();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
  });
  jb1=new JButton("增加");
  jb1.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent event) {
    test();
   }
  });
  jtf1=new JTextField("ccc");
  jtf2=new JTextField("123");
  jtf1.setToolTipText("用户名");
  jtf2.setToolTipText("密码");
  JPanel p = new JPanel();
  p.setLayout(new GridLayout(2,3));
  p.add(new JLabel());
  p.add(tableNames);
  p.add(new JLabel());
  p.add(jtf1);
  p.add(jtf2);
  p.add(jb1);
  add(p, BorderLayout.NORTH);

  try {
   conn = getConnection();
   DatabaseMetaData meta = conn.getMetaData();
   if (meta.supportsResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE)) {
    scrolling = true;
    stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
      ResultSet.CONCUR_READ_ONLY);
   } else {
    stat = conn.createStatement();
    scrolling = false;
   }
   ResultSet tables = meta.getTables(null, null, null,
     new String[] { "TABLE" });
   while (tables.next())
    tableNames.addItem(tables.getString(3));
   tables.close();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }

  addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent event) {
    try {
     if (conn != null)
      conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
  });
 }
 
 private void test(){

  String s1=jtf1.getText();
  String s2=jtf2.getText();
  String tableName = (String) tableNames.getSelectedItem();
  String insert="insert into "+tableName+" values('"+s1+"','"+s2+"')";
  System.out.println(insert);
  try {
   int i=stat.executeUpdate(insert);
    JOptionPane.showMessageDialog(null, "添加成功:"+i+"条") ;
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   JOptionPane.showMessageDialog(this, "添加失败") ;
   e.printStackTrace();
  }
 
 }

 /**
  * Gets a connection from the properties specified in the file
  * database.properties.
  *
  * @return the database connection
  */
 public static Connection getConnection() throws SQLException, IOException {
  Properties props = new Properties();
  FileInputStream in = new FileInputStream("database.properties");
  props.load(in);
  in.close();

  String drivers = props.getProperty("jdbc.drivers");
  try {
   Class.forName(drivers);
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  String url = props.getProperty("jdbc.url");
  String username = props.getProperty("jdbc.username");
  String password = props.getProperty("jdbc.password");

  return DriverManager.getConnection(url, username, password);
//  return DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=cwb&password=cwb123&useUnicode=true");
 }
}

/**
 * This class is the superclass for the scrolling and the caching result set
 * table model. It stores the result set and its metadata.
 */
class ResultSetTableModel extends AbstractTableModel {

 private ResultSet rs;

 private ResultSetMetaData rsmd;
 
 public ResultSetTableModel(ResultSet aResultSet) {
  rs = aResultSet;
  try {
   rsmd = rs.getMetaData();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }

 public String getColumnName(int c) {
  try {
   return rsmd.getColumnName(c + 1);
  } catch (SQLException e) {
   e.printStackTrace();
   return "";
  }
 }

 public int getColumnCount() {
  try {
   return rsmd.getColumnCount();
  } catch (SQLException e) {
   e.printStackTrace();
   return 0;
  }
 }

 public Object getValueAt(int r, int c) {
  try {
   rs.absolute(r + 1);
   return rs.getObject(c + 1);
  } catch (SQLException e) {
   e.printStackTrace();
   return null;
  }
 }

 public int getRowCount() {
  try {
   rs.last();
   return rs.getRow();
  } catch (SQLException e) {
   e.printStackTrace();
   return 0;
  }
 }
}
 

Java实现注册登录系统——基于Java Swing实现 技术简介:Java Swing 介绍 Swing 是一个为Java设计的GUI工具包。 Swing是JAVA基础类的一部分。 Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。 Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认... 阅读详情

相关推荐

Swing+数据库连接

 数据库类型:SQL Server2000切记,不要忘了加驱动包!DB.javaCode: import java.sql.Connection;   import java.sql.DriverManager;   import java.sql.SQLException;      public class DB {

不积跬步无以至千里,不积小流无以成江海。 8892

java swing 访问数据库

java swing数据库程序示例;

bcbobo21cn的专栏 455

Java Swing之JTable连接Mysql数据库显示数据示例

作者前面写过一文,该文中通过两种JTable构造方法创建了表格对象,并展示了部分常用方法。本文在前面创建表格的基础上,使用JDBC连接数据库,用表格显示某一数据库表信息。通过该例,读者可以举一反三,拓展表格操作有关功能,实现获取表格某一记录信息并修改、删除,实现对表格的美化,实现显示符合条件的数据表信息等。关于JDBC连接数据库,如读者需要,可参考作者的《》一文。在本示例中,使用面向对象的思想对数据库的连接做了封装,读者可参考继续完善形成可复用的数据库操作类。

编程语言教学工作者的博客 3035

java 与MYSQL 的连接 例子 精典

import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class inensshow extends JFrame { private Connection connection; private Statement st

塞翁失马 914

使用Java Swing界面实现数据库基本操作

使用Java Swing界面实现数据库基本操作,使用Java Swing界面实现数据库基本操作

java Swing 对SQL Server2008数据库的操作

本文件是基于java swing使用JDBC对SQL Server2008数据库的操作,代码详细

使用SWING组件创建数据库应用程序

·1·第 24 章 使用 Swing 组件创建数据库应用程序在上一章中,通过 JDBC 对数据库进行操作,并将结果显示在控制台中,那么在这一章中,通过 Swing组件显示数据库中的信息。主要内容包括: 使用 JComboBox 组件创建数据库应用程序。 使用 JList 组件创建数据库应用程序。 使用 JTable 组件创建数据库应用程序。24.1 使用 JComboBox 组件创建数据库应

1085

java\Java swing 连接数据库的步骤

java\Java swing 连接数据库的步骤,非常详细

javaswing连接数据库mysql,更新表格

1、建立包Second 2、建立RefreshTable类 3、建立数据库db_studentinfo并建立表student 4、连接数据库的驱动包bulid path package Second; //宝藏级别教程,让我懂得怎么更新表格 // import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swin

陈的博客 2021

Java Swing实现添加数据并查询数据显示

Java Swing实现添加数据到数据库(数据库使用Mysql)并查询数据显示在界面中。

数据库管理工具GUI例子(Java Swing)

数据库管理工具GUI例子(Java Swing)

java swing数据库_java swing 对数据库的简单操作例子

package test;/**@version 1.0 2007-08-07@author cuiweibing*/import com.sun.rowset.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;import java.util.*;import javax.swing.*;...

weixin_31437055的博客 228

告别盲调!用Synopsys VIP搭建PCIe 5.0验证环境,手把手搞定链路训练与均衡调试

本文详细介绍了基于Synopsys VIP搭建PCIe 5.0验证环境的实战指南,重点解析了链路训练(LTSSM)与均衡调试的关键技术。通过配置VIP组件、设计验证平台架构及实战调试技巧,帮助工程师高效解决PCIe 5.0验证中的常见问题,提升芯片验证效率与可靠性。

weixin_28700411的博客 457

java swing 对数据库的简单操作例子(另一例)

package test;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;//import java.awt.*;import javax.swing.*;/** * 表名:bankAccount  * 表结构:id(int[自动增长]),ownerName(v

兰苹果 1363

CODESYS Softmotion(一)功能介绍

一、CODESYS SoftMotion RTE SL产品 1.1 CODESYS Runtime SL 产品家族介绍 目前支持的主流厂商的硬件产品,让部署在上面的成为实时设备。 对于Windows系统,根据需求选择对应的Runtime: RTE极大的提高了实时性,适合进行运动控制,同时RTE还支持了多个主从站协议: 还可以选择可选的功能(Single License): RTE对硬件和系统有要求,如果你需要硬件功能,那么网卡会有最低要求。 1.2 RTE的下载和安装 在官网http://codes

Fishfishfishfishcat 2万+

大语言模型推理机制:Prefill、Decode与KV Cache解析

Transformer架构中的推理过程涉及Prefill、Decode和KV Cache三个关键技术阶段。Prefill阶段负责将输入文本转换为token序列并生成初始隐藏状态,其计算复杂度与输入长度成正比。Decode阶段则以自回归方式逐token生成输出,依赖KV Cache存储历史键值对来避免重复计算。KV Cache作为核心优化机制,通过智能管理对话记忆显著提升推理效率。这些技术在聊天机器人、代码生成等场景中至关重要,特别是KV Cache的内存优化策略直接影响大模型在边缘设备等资源受限环境中的部署

weixin_30664615的博客 435

mysql 连接数据库实例java代码

链接mysql数据库经典实例,学生管理系统

flymoringbird的博客 731

使用ACOLITE对OLCI影像进行大气校正+批处理

使用ACOLITE对OLCI影像进行大气校正+批处理

mrzhy1的博客 7359

java文本框获取内容数据库_swing+sql server我想从文本框中获取内容连接到sql server数据库...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼一个刚学java的小白,求解答import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class 注册界面 implements ActionListener{public void showFrame() {JFrame fr = n...

weixin_34393451的博客 866

国产麒麟系统中的PaddleOCR离线绿色部署:高效安全的文字识别新纪元

摘要:本文详细介绍了PaddleOCR在银河麒麟V10SP1系统上的离线部署方案。通过Conda虚拟环境隔离依赖,采用离线包安装方式实现无网络部署,支持80+语言识别。重点讲解了模型量化剪枝优化、多线程处理等性能调优技巧,并提供了完整的OCR识别代码示例。该方案具有数据本地化处理的安全优势,适用于医疗票据数字化等对隐私要求严格的场景,同时解决了模型加载失败、内存不足等常见问题。

墨夶的博客 1227

HarmonyOS应用开发者基础认证

B. 自定义组件:可复用的 UI 单元,可组合其它组件。D. 内置组件:ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。

牛肉胡辣汤 3816

记一次java连接远程mysql数据库

用java连接远程数据库,写一个小java gui程序,写一张小表 student(number,name,sex),可以写入数据,删除数据,查询数据 主要代码: 1 public class TestSqlOnFrame { 2 public static void main(String[] args) { 3 frame frameO...

axitmjs322677的博客 242

华为od 面试八股文_Python语言_01_含答案

华为od 面试八股文_Python语言_01_含答案

MISAYAONE的博客 9098

JAVA中怎么继承interfere_运行时怎么总是出现需要为CLASS INTERFERE ENUM 怎么回事啊?...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼运行时怎么总是出现需要为CLASS INTERFERE ENUM 怎么回事啊?求大神指点啊!import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class...

weixin_29182481的博客 92

深入详细分析Skyworks 78113 PAMiD射频方案图

是一种高集成度的射频前端模块,它结合了功率放大器(PA)、双工器(Duplexer)、滤波器和开关等多个组件,主要用于4G LTE移动通信系统中的射频前端链路。是一款典型的PAMiD模块,通过将多个频段的发射(TX)和接收(RX)路径集成在一个模块中,大大减少了传统射频设计中的分立器件,同时提高了信号链路的效率和可靠性。模块化设计的优势PCB空间优化:高集成度设计大幅减小了射频电路的尺寸,适用于紧凑型移动设备。减少设计复杂度:模块化设计减少了器件间的匹配与调试工作,加速产品开发周期。性能稳定性。

weixin_43199439的博客 1480

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jtree从数据库中取数据

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; import java.sql.*; import java.io.*; import java.util.*; ////////////

CARROTHWQ的专栏 1284

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Java实现一个简单的FTP客户端
下一篇: java swing 对数据库的简单操作例子(另一例)
cuiweibing
博客等级 码龄22年 23粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值