文档库 最新最全的文档下载
当前位置:文档库 › Java的Jtable、从数据库取数据显示在表格中

Java的Jtable、从数据库取数据显示在表格中

Java的Jtable、从数据库取数据显示在表格中
Java的Jtable、从数据库取数据显示在表格中

数据库操作代码:

// Load JDBC driver

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=access\\test.mdb";

Connection con = DriverManager.getConnection(dbUrl, "","");

Statement state = con.createStatemen(ResultSet.TYPE_SCROLL_SENSITIV E,

ResultSet.CONCUR_UPDATABLE);

// 执行SQL语句

String sql = "select * from score";

ResultSet rs = state.executeQuery(sql);

displayResultSet(rs);

rs.close();

state.close();

con.close();

将数据显示在表格中:

private void displayResultSet(ResultSet rs) throws SQLException {

boolean moreRecords = rs.next(); // 定位到达第一条记录

if (!moreRecords) {

JOptionPane.showMessageDialog(null, "结果集中无记录", "无记录",

https://www.wendangku.net/doc/6817770027.html,RMATION_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(383, 81));

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();

//这里可以执行数据库操作

}

java导入导出excel操作

java导入导出excel操作(jxl) Java解释Excel数据(包的使用) 关键字: java excel 包 下载地址: 真实下载地址: 网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java 的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel 文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包,得到,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: Java代码 /* * Created on Dec 30, 2007 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package ; import .*; import jxl.*; import .*;

/** * @author Ken * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class CreateXLS { public static void main(String[] args) { try { WritableWorkbook book = (new File("d:/")); 0 means this is 1st page. WritableSheet sheet = ("Sheet_1", 0); value is "test". Label label = new Label(0, 0, "test"); (label); WARN:necessarily use integrated package-path, otherwise will be throws path -error. value is . number = new0, ; (number); (); (); } catch (Exception e) { (); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

数据库的增删改查(精)

学习收藏数据库增删改查 --查询信息系和计算机系的学生,并按学生所在系和学号排序。select sno,sname,Sdept from Student where Sdept='CS'OR Sdept='IS' order by Sdept,sno ASC --查询学生表中最小的年龄。 select MIN(sage from student --查询课程名中包含“数据”的课程名。 select cno,cname from course where Cname like'%数据%' --查询先行课程为空值的课程号、课程名及学分 select cno,cname,ccredit from Course where Cpno is null --查询李勇选修的数据库课程的成绩 select grade from SC where Sno=(select Sno from Student where Sname='李勇'and Cno=(select Cno from Course where cname='数据库' --查询平均成绩分以上的学生的学号 select distinct sno from SC scx where (select AVG(Grade from SC scy

where scy.sno=scx.Sno>85 --求计算机系没有选修数据库课程的学生姓名 select sname from Student where Sno not in(select Sno from SC where Cno in(select Cno from Course where Sname='数据库'and Sdept='IS' --求至少选修了学号为S1所选修的全部课程的学生学号 select distinct sno from SC scx where not exists(select*from SC scy where scy.Sno='20021522'and not exists(select* from sc scz where scz.sno=scx.sno and https://www.wendangku.net/doc/6817770027.html,o=https://www.wendangku.net/doc/6817770027.html,o --求各系的系的学生人数的,并将结果按学生人数的降序排序 select Sdept,COUNT(sno from Student group by Sdept order by Sdept ASC --查询选修了数学课程并且成绩高于该门课程平均分的学生学号和成绩 select sno,grade from SC scx where Grade>=(select AVG(Grade from SC scy where Cno=(select Cno from Course where Cname='数学'and Cno=(select Cno from Course

跟我学Java Swing GUI组件技术及应用实例——JTable表格组件及应用实例

1.1跟我学Java Swing GUI组件技术及应用实例——JTable表格组件及应用实例 1.1.1表格控件JTable 1、JTable表格控件的主要功能 JTable顾名思义就是一个将数据以表格显示的组件,它提供以行和列的方式来显示数据,并且可以拖动列。如下示图为应用JTable表格控件所创建出的数据表格。 JTable的数据选项不仅仅是可以显示字符串,还可以显示Checkbox选择框、下拉列表框或者图片等内容。如下为Sun 公司的Swing 教程中的TableDialogEditoDemo 应用程序的执行结果示图,在该示例的数据表格中显示Checkbox选择框、下拉列表框和图片等内容。

2、JTable类的API功能说明 (1)JTable类的API功能说明 如下示图为JDK API文档中对JTable类的API功能说明的相关信息。 如果需要对数据表格中的表头数据列和数据单元格中的数据列进行定制,则需要通过继承封装表头数据列JTableHeader类或者继承封装数据列的TableColumn类。如下为JTableHeader类和TableColumn类的功能说明。 (2)表头数据列JTableHeader类的功能说明

(3)数据列TableColumn类的功能说明 TableColumn 类封装表示JTable中数据列的所有属性,如宽度、大小可调整性、最小和最大宽度。 3、JTable表格控件中的数据可以以多种不同的方式被选中 (1)选中某一数据行

(2)选中连续的多行数据行

(3)选中不连续的多行数据行

4、JTable类的构造函数定义 可以通过JTable(Object[][] rowData, Object[] columnNames)形式的构造方法创建出数据表格组件,该JTable组件将用来显示一个二维数组rowData 中的值(它是一个行数组),其列名称为columnNames所代表的数组。JTable类的其它形式的构造函数定义如下:

JSP中导入导出Excel文件

JSP中导入导出Excel文件 一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel 对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是sHorrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三.开始编码 1 .准备工作 要求:JDK 1.4+POI开发包 可以到 https://www.wendangku.net/doc/6817770027.html,/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包 2 . EXCEL 结构 HSSFWorkbook excel 文档对象介绍 HSSFSheet excel的表单 HSSFRow excel的行 HSSFCell excel的格子单元 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式

数据库增删改查基本语句

数据库增删改查基本语句 adoquery1.Fielddefs[1].Name; 字段名 dbgrid1.columns[0].width:=10; dbgrid的字段宽度 adoquery1.Fields[i].DataType=ftString 字段类型 update jb_spzl set kp_item_name=upper(kp_item_name) 修改数据库表中某一列为大写select * from master.dbo.sysobjects ,jm_https://www.wendangku.net/doc/6817770027.html,ers 多库查询 adotable1.sort:='字段名称ASC' adotable排序 SQL常用语句一览 sp_password null,'新密码','sa' 修改数据库密码 (1)数据记录筛选: sql="select * from 数据表where 字段名=字段值orderby 字段名[desc] " sql="select * from 数据表where 字段名like '%字段值%' orderby 字段名[desc]" sql="select top10 * from 数据表where 字段名orderby 字段名[desc]" sql="select * from 数据表where 字段名in('值1','值2','值3')" sql="select * from 数据表where 字段名between 值1 and 值2" (2)更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2……字段n=值n where 条件表达式" (3)删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表"(将数据表所有记录删除) (4)添加数据记录: sql="insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…)" sql="insert into 目标数据表select * from 源数据表"(把源数据表的记录添加到目标数据表)

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.wendangku.net/doc/6817770027.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

SQL数据库中的增删改查总结1

一、增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert into Strdents (姓名,性别,出生日期) values ('邢金聪','男','1990/6/15') 注意:如果省略表名,将依次插入所有列 2.使用insert,select语句将现有表中的数据添加到已有的新表中 语法:insert into <已有的新表> <列名> select <原表列名> from <原表名> 例:insert into addressList ('姓名','地址','电子邮件')selectname,address,email from Strdents 注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致 二、删:有2中方法 1.使用delete删除数据某些数据 语法:delete from <表名> [where <删除条件>] 例:delete from awhere name='邢金聪'(删除表a中列值为邢金聪的行) 注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名 2.使用truncate table 删除整个表的数据

语法:truncate table<表名> 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 三、改 使用update更新修改数据 语法:update <表名> set <列名=更新值> [where <更新条件>] 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 四、查 1.普通查询 语法:select <列名> from <表名> [where <查询条件表达试>] [order by<排序的列 名>[asc或desc]] 1).查询所有数据行和列 例:select * from a 说明:查询a表中所有行和 2).查询部分行列--条件查询 例:select i,j,kfrom a where f=5 说明:查询表a中f=5的所有行,并显示i,j,k3列

java 通过JTable显示数据

java 通过JTable显示数据 Swing中的JTable类为显示大块数据提供了一种简单的机制。JTable有很多方法用于数据的生成和编辑,其中的很多方法还可以自定义,从而更进一步增强其功能。 在使用JTable以前,我们先看一下它的构造函数有哪些,以及应该如何使用。JTabel构造函数: ●JTable( ) 建立一个新的JTables,并使用系统默认的Model。 ●JTable(int numRows,int numColumns) 建立一个具有numRows行,numColumns列的空 表格,使用的是DefaultTableModel.。 ●JTable(Object[][] rowData,Object[][] columnNames) 建立一个显示二维数组数据的表 格,且可以显示列的名称。 ●JTable(TableModel dm) 建立一个JTable,有默认的字段模式以及选择模式,并设置数据 模式。 ●JTable(TableModel dm,TableColumnModel cm) 建立一个JTable,设置数据模式与字段 模式,并有默认的选择模式。 ●JTable(TableModel dm,TableColumnModel cm,ListSelectionModel sm) 建立一个JTable, 设置数据模式、字段模式、与选择模式。 ●JTable(Vector rowData,Vector columnNames) 建立一个以Vector为输入来源的数据表 格,可显示行的名称。 在构建JTable对象之后,可以通过一些方法来设置数据显示的样式,常见的方法如下。 1.设置JTable表格大小 如果JTable的一个列或者JTable窗口的大小被重新设置后,那么其他列会被相应的缩小或者放大,以适应新的窗口。使用setAutoResizeMode( )方法就能够控制这 LUMN、AUTO_RESIZE_SUBSEQUENT_COLUMNS、AUTO_RESIZE_LAST_COL UMN和AUTO_RESIZE_ALL_COLUMNS。 2.更改表格的默认值 在单元格中,表格线的缺省颜色是Color.gray。如果用户需要可以修改表格线的颜色,如将表格线更改为红色。

JTable的事件处理

JTable的事件处理 JTable的事件处理 在前面的介绍中,我们了解了数种在不同组件上的事件处理。同样,在JTable的事件大致均针对表格内容的异操作处理,包括字段内容改变,列数增加 或减少,行数增加或减少,或是表格的结构改变等等。这些事件我们称为TableModelEvent事件。要处理TableModelEvent事件我们必须实现TableModelListener 界面,此界面定义了一个方法,那就是tableChanged(),为了处理这些事件的种种 情况,在AbstractTableModel类中提供了下列方法来提示TableModelListener:表格内容已经改动了,如下所示: 1.fireTableCellUpdated():发出表格中的某一个字段已经更改的事件信息。 2.fireTableChanged():发出表格已经改动的事件信息。 3.fireTableDataChanged():发出表格中的某字段已经更改的事件信息。 4.fireTableRowsDeleted():发出表格中的某几行已经删除的事件信息。 5.fireTableRowsInserted():发出表格中的已经新增某几行的事件信息。

6.fireTableRowsUpdated():发出表格中的某几行已经修 改的事件信息。 7.fireTableStructureChanged():发出表格结构已经改变 的事件信息,这里指的结构改变可能包括表格的列数已经改变。 在知道在表格中可能发生的事件后,我们要如何拦截这些事件的信息呢?在AbstractTableModel类中提供了一个 注册listener的方法 :addTableModelListener().在加入TableModelListener之后,我们就可以依照不同的事件做不同的处理了。 先来看看下面的例子吧,这个例子主要是更改本章的ColumnModelTest.java范例,再加上一些功能。在这个范 例中,我们针对用户对 表格所做的修改加以处理,如果改的项目是数字,包括“语文”,“数学”字段,则我们直接将修改的值累加至"总分"字段,并检查其是 否及格且在“及格”字段作修改;而当我们勾起"作弊"列的Check Box选项时,若原本总分应为及格者,则设置为不及格,且总分改成119 分。import javax.swing.table.AbstractTableModel; import javax.swing.event.*;

JAVA导出EXCEL类(TSV格式)

package com.bear.util; import java.io.*; import javax.swing.*; import javax.swing.table.*; public class ExcelUtil { public void exportTable(JTable table,String title) throws IOException { TableModel model = table.getModel(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setCurrentDirectory(new File("."));//设置当前目录 fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() { public boolean accept(File file) { if (file.isDirectory()) return true; return (file.getName().indexOf("xls") != -1); } public String getDescription() { return "Microsoft Excel文件(*.xls)"; } }); //fileChooser.showSaveDialog(null); int returnVal =fileChooser.showSaveDialog(fileChooser); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file.exists()) { int copy = JOptionPane.showConfirmDialog(null,"是否要覆盖当前文件?", "保存", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if (copy == JOptionPane.YES_OPTION) fileChooser.approveSelection(); else return; } else fileChooser.approveSelection(); FileWriter out = new FileWriter(file); out.write(title + "\n\n"); for(int i=0; i < model.getColumnCount(); i++) out.write(model.getColumnName(i) + "\t"); out.write("\n"); for(int i=0; i< model.getRowCount(); i++) {

JAVA数据库基本操作增删改查(精)

JAVA 数据库基本操作, 增删改查 package mypack; JAVA 数据库基本操作, 增删改查 import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; public class DbOper {//查询多行记录public ArrayList select({Connection conn =null; ResultSet rs =null; try {import java.sql.PreparedStatement; import java.sql.SQLException; PreparedStatement pstmt =null; ArrayList al =new ArrayList(; conn =DbConn.getConn(;pstmt =conn.prepareStatement(“select *from titles ”; rs =pstmt.executeQuery(;while (rs.next({Titles t =new Titles(;t.setTitleid(rs.getString(1;t.setTitle(rs.getString(2;al.add(t;}}catch (SQLExceptione { e.printStackTrace(;}finally {try {//TODO 自动生成catch 块if (rs!=null rs.close(;if (pstmt!=nullpstmt.close(;if (conn!=nullconn.close(;}catch (SQLExceptione { e.printStackTrace(;}}//TODO 自动生成catch 块 return al; }//查询单个对象public Titles selectOne(Stringtitleid{Connection conn =null; ResultSet rs =null; try {PreparedStatement pstmt =null; Titles t =new Titles(;

表格的用法

日期的例子: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Insets; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.text.DateFormat; import java.text.ParseException; import java.util.Calendar; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRootPane; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.border.LineBorder; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; public class MDateField extends JPanel { private JTextField textField; public MDateField() { super(); final FlowLayout flowLayout = new FlowLayout(); flowLayout.setHgap(0); setLayout(flowLayout); textField = new JTextField(); textField.setColumns(12); add(textField); final JButton button = new JButton();

数据库增删改查

02.连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 03.创建数据库:create database [库名] 04.显示所有数据库: show databases; 05.打开数据库:use [库名] 06.当前选择的库状态:SELECT DATABASE(); 07.创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求]) [字段参数], ......); 08.显示数据表字段:describe 表名; 09.当前库数据表结构:show tables; 10.更改表格 11. ALTER TABLE [表名] ADD COLUMN [字段名] DATATYPE 12. 说明:增加一个栏位(没有删除某个栏位的语法。 13. ALTER TABLE [表名] ADD PRIMARY KEY ([字段名]) 14. 说明:更改表得的定义把某个栏位设为主键。 15. ALTER TABLE [表名] DROP PRIMARY KEY ([字段名]) 16. 说明:把主键的定义删除。 17.显示当前表字段:show columns from tablename; 18.删库:drop database [库名]; 19.删表:drop table [表名]; 20.数据操作 21.添加:INSERT INTO [表名] VALUES('','',......顺序排列的数据); 22.查询: SELECT * FROM [表名] WHERE ([条件]); 23.建立索引:CREATE INDEX [索引文件名] ON [表名] ([字段名]); 24.删除:DELETE FROM [表名] WHERE ([条件]); 25.修改:UPDATE [表名] SET [修改内容如name = 'Mary'] WHERE [条件]; 26. 27.导入外部数据文本: 28.1.执行外部的sql脚本 29.当前数据库上执行:mysql < input.sql 30.指定数据库上执行:mysql [表名] < input.sql 31.2.数据传入命令load data local infile "[文件名]" into table [表名]; 32.备份数据库:(dos下) 33.mysqldump --opt school>school.bbb 34. 35. 36. 37.提示:常用MySQL命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 38.一. 增删改查操作 39. 40.============================================================================ ===== 41.1. 增: 42.insert into 表名values(0,'测试'); 43.注:如上语句,表结构中有自动增长的列,也必须为其指定一个值,通常为0 44.insert into 表名(id,name) values(0,'尹当')--同上

JTable添加文本框

在JTable单元个中增加文本输入框是经常遇到的,一般在开发中会遇到在表格中对输入做控制就可以用到这种方法来实现 实现方式: 重写:TableCellRenderer接口 Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)返回用于绘制单元格的组件。此方法用于在绘制前适当地配置渲染器。 参数: table - 要求渲染器绘制的JTable;可以为null value - 要呈现的单元格的值。由具体的渲染器解释和绘制该值。例如,如果value 是字符串"true",则它可呈现为字符串,或者也可呈现为已选中的复选框。null 是有效值 isSelected - 如果使用选中样式的突出显示来呈现该单元格,则为true;否则为false hasFocus - 如果为true,则适当地呈现单元格。例如,在单元格上放入特殊的边框,如果可以编辑该单元格,则以彩色呈现它,用于指示正在进行编辑 row - 要绘制的单元格的行索引。绘制头时,row 值是-1 column - 要绘制的单元格的列索引

JTable得单元格(cell)在渲染得时候使用得是默认得DefaultTableCellRenderer。其 返回的Component是继承了JLabel得组件,所以直接使用默认得渲染器对其内容的更改 显得力不从心。其监听主要在他得CellEditor上面JTable使用的默认得编辑器为JTextField,这样你就可以重新添加编辑器即继承DefaultCellEditor然后给其添加一定得监听事件后在 对jtable添加编辑器,单这样做我感觉过于过于繁琐。在单元格进行编辑的时候会触发TablechangEvent 事件,Tablechange事件提供了几种触发事件得类型主要分为: 1.insert 2.update 3.delete 如果要对其某个单元格得内容是否真得发生了更改得话只有选择update类型,但其监听得事件是在你双击进入编辑状态后不管有没有对数据进行更改都会触发此事件。如果我们能获得进入编辑状态前和编辑状态完成后得内容是很容易确定其内容是否真得进行 过更改得。 首先对Jtable添加TableModelListener方法如下 JTable t = new JTable(); String oldvalue = null;//定义全局变量用于记录编辑前得内容 t.getModel().addTableModelListener(new TableModelListener(){ public void tableChanged(TableModelEvent e) { if(e.getType() == TableModelEvent.UPDATE){ /* * do some thing 获得编辑后单元格得值 */

SQL常用增删改查语句

SQLSQL常用增删改查语句 作者:hiker 一.Insert 插入语句 1.Insert into 表名(列名)values (对应列名值) //插入一行. 2.Insert into 新表名(列名) Select (列名) 旧表名 3.Select 旧表名.字段… Into 新表名from 旧表名 4.Select identity ( 数据类型,标识种子,标识增长量) as 列名 Into新表名 From 旧表名 5.Insert 表名(列名) Select (对应列名值) union Select (对应列名值) union Select (对应列名值) 二.Update 更新语句 1.Update 表名set 列名=’更新值’ where 更新条件 三.delete 删除语句 1.delete from 表名where 删除条件 2.truncate table 表名//删除表中所有行 四.select 基本查询语句 1.select 列名from 表名where 查询条件 order by 排序的列名asc或desc升/降 2.select 列名as 别名from 表名where 查询条件 3.select 列名from 表名where 列名is null //查询空值 4.select 列名, ‘常量值’ as 别名from 表名//查询时定义输出一列常量值 5.select top 5 列名from 表名//查询前5行 6.select top 5 percent 列名from 表名//查询前百分之5的数据行 五.select 函数查询语句 1.select LEN(Class_Name)from Class //查询class_Name字符串长度 2.select upper(Class_Name)from Class //查询class_Name并转换为大写 3.ltrim和rtrim //清除字符串左右空格 4.select REPLACE(card_No,'0','9')from CardRecord//修改列中字符串中的字符 列名字符串中0修改为9 5.select STUFF(Card_No,2,3,'8888')from CardRecord 列名字符串中第2个开始删除3个字符,再从第二个开始插入8888字符串 6.select GETDATE()//显示系统日期

JTable的入门详细介绍

JTable的入门详细介绍 8-1:使用JTable组件: 类层次结构图: https://www.wendangku.net/doc/6817770027.html,ng.Object https://www.wendangku.net/doc/6817770027.html,ponent --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel 在使用JTable以前,我们先看一下它的构造函数有哪些,以及应该如何使用: JTabel构造函数: JTable():建立一个新的JTables,并使用系统默认的Model. JTable(int numRows,int numColumns):建立一个具有numRows行,numColumns列的空表格,使用的是DefaultTableModel. JTable(Object[][] rowData,Object[][] columnNames):建立一个显示二维数组数据的表格,且可以显示列的名称。 JTable(TableModel dm):建立一个JTable,有默认的字段模式以及选择模式,并设置数据模式。JTable(TableModel dm,TableColumnModel cm):建立一个JTable,设置数据模式与字段模式,并有默认的选择模式。 JTable(TableModel dm,TableColumnModel cm,ListSelectionModel sm):建立一个JTable,设 置数据模式、字段模式、与选择模式。 JTable(Vector rowData,Vector columnNames):建立一个以Vector为输入来源的数据表格,可显示行的名称。 我们先以Array构造方式,说明如何利用JTable来建立一个简单的表格: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class SimpleTable{ public SimpleTable(){ JFrame f=new JFrame(); Object[][] playerInfo={ {"阿呆",new Integer(66),new Integer(32),new Integer(98),new Boolean(false)}, {"阿呆",new Integer(82),new Integer(69),new Integer(128),new Boolean(true)}, }; String[] Names={"姓名","语文","数学","总分","及格"}; JTable table=new JTable(playerInfo,Names); table.setPreferredScrollableViewportSize(new Dimension(550,30)); JScrollPane scrollPane=new JScrollPane(table); f.getContentPane().add(scrollPane,BorderLayout.CENTER); f.setTitle("Simple Table"); f.pack();

Java数据导入导出Excel

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.wendangku.net/doc/6817770027.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.wendangku.net/doc/6817770027.html,ermodel.HSSFCell; import https://www.wendangku.net/doc/6817770027.html,ermodel.HSSFCellStyle; import https://www.wendangku.net/doc/6817770027.html,ermodel.HSSFRow; import https://www.wendangku.net/doc/6817770027.html,ermodel.HSSFSheet; import https://www.wendangku.net/doc/6817770027.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

相关文档
相关文档 最新文档