찾다
데이터 베이스MySQL 튜토리얼java的swing、jtable、连接和操作Access

java操作access程序这个是源代码 java写windows的程序确实比较不爽 这些代码是给一个兄弟的不会写程序的表妹做的作业(他的要求是必须符合菜鸟的标准:),于是代码就这样了 见谅啦!不过功能是有滴 关键代码 Code // LoadJDBCdriver Class.forName( " sun.jdb

 

java的swing、jtable、连接和操作Accessjava的swing、jtable、连接和操作Access

java操作access程序这个是源代码

java写windows的程序确实比较不爽 这些代码是给一个兄弟的不会写程序的表妹做的作业(他的要求是必须符合菜鸟的标准:……),于是代码就这样了 见谅啦!不过功能是有滴

关键代码

 

java的swing、jtable、连接和操作Accessjava的swing、jtable、连接和操作AccessCode


  
// Load JDBC driver
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  
/* 这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下 */
  String dbUrl 
= "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=access\\test.mdb";

  Connection con 
= DriverManager.getConnection(dbUrl, "",
    
"");
  Statement state 
= con.createStatement(
    ResultSet.TYPE_SCROLL_SENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
  
// 执行SQL语句
  String sql = "select * from score";
  ResultSet rs 
= state.executeQuery(sql);

  displayResultSet(rs);
  rs.close();
  state.close();
  con.close();

 

 

java的swing、jtable、连接和操作Accessjava的swing、jtable、连接和操作AccessCode
    /***************************************************************************
     * 将数据库中取出的结果以table形式显示
     *************************************************************************
*/
    
private void displayResultSet(ResultSet rs) throws SQLException {
        
boolean moreRecords = rs.next(); // 定位到达第一条记录
        if (!moreRecords) {
            JOptionPane.showMessageDialog(
null"结果集中无记录""无记录",
                    JOptionPane.INFORMATION_MESSAGE);
            
return;
        }

        Vector rows 
= new Vector();
        Vector columnHeads 
= new Vector();
        
try {
            ResultSetMetaData rsmd 
= rs.getMetaData(); // 获得rs结果集中列属性信息
            for (int i = 1; i  rsmd.getColumnCount(); ++i)
                columnHeads.addElement(rsmd.getColumnName(i)); 
// 获得列名(将列名存放至向量columnHeads)

            
do {
                rows.addElement(getNextRow(rs, rsmd));
            } 
            
while (rs.next()); // 利用循环获得所有记录
            jTable = new JTable(rows, columnHeads); // 将获得的行列数据信息作为参数重新构造表格视图
            jTable.setSize(new Dimension(38381));
            JScrollPane scroller 
= new JScrollPane(jTable);// 创建带有滚动条的面板,并将表格视图加入
            Container c = getContentPane(); // 获取溶器
            
// c.remove(2); //
            
// 从溶器中移除指定控件(本窗体中有二级面板有两个,第一个存放文本域及按钮,第二个存放表格视图,故移除1)
            c.add(scroller, BorderLayout.CENTER); // 将面板重新加入溶器中
            c.validate(); // 验证此容器及其所有子组件
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    
/**
     * 取下一行
     
*/
    
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
            
throws SQLException {
        Vector currentRow 
= new Vector(); // 定义一个向量,用于存放记录
        for (int i = 1; i  rsmd.getColumnCount(); ++i)
            currentRow.addElement(rs.getString(i)); 
// 获取记录
        return currentRow; // 返回记录
    }

 

以上代码实现连接access并将取出数据显示在JTable控件上……

选择JTable行:jTable.getSelectedRow() != -1用于判断是否有选中行;(jTable.getModel().getValueAt(jTable
        .getSelectedRow(), 0)).toString();用于取出选择行的某单元值(0表示该行的第一列以此类推)

     if (jTable.getSelectedRow() != -1) {
      String ID = (jTable.getModel().getValueAt(jTable
        .getSelectedRow(), 0)).toString();

用于插入acces数据时

"insert into score (name,language,math,english) values(……)“ 标红色的表名后必须加空格,不然无法插入!

 

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java数据结构之AVL树详解Java数据结构之AVL树详解Jun 01, 2022 am 11:39 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

java中封装是什么java中封装是什么May 16, 2019 pm 06:08 PM

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기