




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生信息的增删改查注意:此处用到的是access数据库。运行后效果如图:代码如下:package example;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.sql.*;import java.util.Vector; class myrandom extends JFrame implements ActionListener/这个程序的数据是没有写入文件的JFrame f1,f2; JButton b1,b2,b3,b4,modify,direction;JLabel a1;JTextField t1,t2,t3,t4;JTable table;myrandom()table=new JTable();f1=new JFrame(学生信息系统);f1.setVisible(true);/设置窗体可见a1=new JLabel(输入学号:);t1=new JTextField(100);t2=new JTextField(100);b1=new JButton(查姓名:);b2=new JButton(插入信息); b3=new JButton(查看数据); b4=new JButton(删除); t3=new JTextField(100); modify=new JButton(修改); direction=new JButton(操作说明); t4=new JTextField(100);f1.setLayout(new GridLayout(6,2);/设置窗体的分布为四行二列f1.add(a1);f1.add(t1);/加入窗体f1.add(b1);f1.add(t2);f1.add(b2);f1.add(b3);f1.add(b4);f1.add(t3);f1.add(modify);f1.add(t4);f1.add(direction);f1.setSize(200,200);/设置窗体大小b1.addActionListener(this);b2.addActionListener(this);/设置按钮事件b3.addActionListener(this);b4.addActionListener(this);modify.addActionListener(this);direction.addActionListener(this);public void actionPerformed(ActionEvent e) f1.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);/关闭窗体后释放资源,若不写这条语句, /则虽然关闭了窗体,但进程还在运行。try/这个try是在整个action中的,用于捕获建立连接异常Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);String dburl=jdbc:odbc:mydb; /mydb是我建立的access数据源Connection conn=DriverManager.getConnection(dburl);/这四条语句是用来在整个action事件中建立连接的Statement stml=conn.createStatement(); /也就不用在每一个button事件(b1,b2,b3,b4)中重复写这四条语句/以上四条语句也可以改写为下面这四条语句:/String dburl=jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=C:db1.mdb;/Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/Connection conn = DriverManager.getConnection(dburl);/Statement stml = conn.createStatement();if(e.getSource()=b3)/查看数据(查看数据库中student表的所有信息f2=new JFrame(显示信息);f2.setVisible(true);/设置窗体可见f2.setSize(200,200);/设置窗体大小 Vector rows = new Vector();/用于存储数据库中的行信息 Vector columnHeads = new Vector(); /用于存储数据库中的列标题tryResultSet rs=stml.executeQuery(select * from student); boolean moreRecords = rs.next(); / 定位到达第一条记录,这句话一定要写 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 jTable = new JTable(rows, columnHeads); / 将获得的行列数据信息作为参数重新构造表格视图 jTable.setSize(new Dimension(383, 81); JScrollPane scroller = new JScrollPane(jTable);/ 创建带有滚动条的面板,并将表格视图加入 f2.add(scroller, BorderLayout.CENTER); / 将面板重新加入溶器中 f2.validate(); / 验证此容器及其所有子组件while(rs.next()String ss=rs.getString(id);/显示输出结果String s2=rs.getString(name);System.out.println(ss+s2);rs.close();stml.close(); conn.close(); /使用完后要记得关闭所有连接catch(Exception ee)System.out.println(ee);else if(e.getSource()=b2)/插入信息(在t1文本框中输入要插入的学号, /在t2文本框中输入要插入的姓名,然后点击插入信息try stml.executeUpdate(insert into student values(+t1.getText()+,+t2.getText()+);/excute的返回值是boolean型的,excuteUpdate的返回值是int型的,executeQuery的返回值是ResultSet型的 stml.close(); conn.close();catch(Exception e1)System.out.println(e1);System.out.println(Insert successfully!);JOptionPane.showMessageDialog(f1,插入成功!);else if(e.getSource()=b1)/查姓名(在t1文本框中输入学号, /在t2文本框中显示相应的姓名t3.setText();t4.setText();trySystem.out.println(hi);String mysql=select name from student where id=+t1.getText()+;/ResultSet rs=stml.executeQuery(select name from student where id=+t1.getText()+);ResultSet rs=stml.executeQuery(mysql);String sn=;while(rs.next() /此处while语句用于逐条查询 sn=rs.getString(name);System.out.println(学号为:+t1.getText()+ 姓名是:+sn);if(sn=) /如果没有找到该学生的姓名JOptionPane.showMessageDialog(f1,没有该学生!);else t2.setText(sn);rs.close();stml.close();conn.close();catch(Exception ee)System.out.println(ee);else if(e.getSource()=b4) /按学号删除记录(删除学号和姓名)try /在t3文本框中输入要删除的学号t1.setText();t2.setText();t4.setText();System.out.println(hi);String yy=;String mmsql=select * from student where id=+t3.getText()+;String mysql=delete from student where id=+t3.getText()+;ResultSet rs=stml.executeQuery(mmsql);while(rs.next()yy=rs.getString(name);if(yy=)JOptionPane.showMessageDialog(f1,删除失败,没有该学生!);rs.close();elsestml.executeUpdate(mysql);JOptionPane.showMessageDialog(f1,删除成功!);stml.close();conn.close();catch(Exception ee)System.out.println(ee);System.out.println(success to delete!);else if(e.getSource()=modify)/修改姓名:在t1文本框中输入要修改的学号,try / 在t4文本框中输入修改后的名字/JOptionPane.showMessageDialog(f1,请在输入学号后面输入修改前的学号,在修改后面输入修改后该学号的姓名!);t2.setText();t3.setText();String mm=;String mmsql=select * from student where id=+t1.getText()+;String mysql=update student set name=+t4.getText()+ where id=+t1.getText()+;ResultSet rs=stml.executeQuery(mmsql);while(rs.next()mm=rs.getString(name);if(mm=)JOptionPane.showMessageDialog(f1,修改失败,没有该学生!);rs.close();elsestml.executeUpdate(mysql);JOptionPane.showMessageDialog(f1,修改成功!);stml.close();conn.close();catch(Exception eee)System.out.println(eee);System.out.println(Congratulations!modify success!);else tryJOptionPane.showMessageDialog(f1,1若要修改:请在输入学号后面输入修改前的学号, +n+在修改后面输入修改后该学号的姓名,然后点击修改;+n +2若要删除,请在删除后面出入要删学生的学号,然后点击删除; +n+3若要插入信息,请在输入学号后面输入学号,在查姓名后面输入姓名,然后点击插入信息; +n+ 4若要若要查询数据,直接点击查看数据; +n+ 5输入学生的学号,再点击查姓名可以查找该学号学生的姓名。);catch(Exception e2)System.out.println(e2);catch(Exception ee)System.out.println(ee);public static void main(String args
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床皮内注射技术
- 税务师考试东奥课件
- 中国广告发布行业市场调查研究及投资前景预测报告
- 中国农药杀菌剂行业市场调查报告
- 2025年中国手袋线行业市场发展前景及发展趋势与投资战略研究报告
- 回复反射器行业深度研究分析报告(2024-2030版)
- 中国城市经营行业市场发展现状及前景趋势与投资分析研究报告(2024-2030)
- 2025年中国小曲酒行业市场深度调研分析及投资前景研究预测报告
- 2025年 煤矿特种作业人员采煤机司机考试练习题附答案
- 2025年中国预焙阳极行业发展监测及市场发展潜力预测报告
- LY/T 1787-2016非结构用集成材
- GB/T 3880.3-2012一般工业用铝及铝合金板、带材第3部分:尺寸偏差
- GB/T 1503-2008铸钢轧辊
- GB/T 12729.1-2008香辛料和调味品名称
- GB/T 1228-2006钢结构用高强度大六角头螺栓
- GB 4404.3-2010粮食作物种子第3部分:荞麦
- 【精品】高三开学励志主题班会课件
- 套管培训大纲课件
- 绿化施工进度网络图
- 机房接地方案
- 监理平行检查记录表格模板
评论
0/150
提交评论