学生信息管理系统的粗糙java代码.docx

上传人:b****7 文档编号:23471352 上传时间:2023-05-17 格式:DOCX 页数:49 大小:221.09KB
下载 相关 举报
学生信息管理系统的粗糙java代码.docx_第1页
第1页 / 共49页
学生信息管理系统的粗糙java代码.docx_第2页
第2页 / 共49页
学生信息管理系统的粗糙java代码.docx_第3页
第3页 / 共49页
学生信息管理系统的粗糙java代码.docx_第4页
第4页 / 共49页
学生信息管理系统的粗糙java代码.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

学生信息管理系统的粗糙java代码.docx

《学生信息管理系统的粗糙java代码.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统的粗糙java代码.docx(49页珍藏版)》请在冰豆网上搜索。

学生信息管理系统的粗糙java代码.docx

学生信息管理系统的粗糙java代码

一.实验目的:

(1)理解JDBC的工作原理,熟悉java.sql包中与数据库访问相关的类及其用法,如DriverManager、Connection、Statement、ResultSet。

(2)熟悉利用JDBC进行数据库访问的步骤:

               —加载JDBC驱动程序(Class.forName()

               —建立数据库连接(DriverManager.getConnection())

               —发布SQL命令(stmt=Con.createStatement(),stmt.executeQuery())

               —取结果集并处理(ResultSet的next()方法和.get***()方法)

                —关闭连接,释放对象(close())

(3)掌握建立ODBC数据源的方法,会使用JDBC-ODBCBridge进行数据库访问。

二.实验内容:

    编写图形界面程序,利用JDBC实现图书/同学通讯录/校园卡/团员/教师/学生管理系统。

    (任选1题,也可自拟题目,但需指导教师同意!

三.实验要求:

    

(1) 进行规范的数据库设计,正确地定义关系数据表的结构及表间联系(包括:

字段的数据类型、宽度、精度、主键、外键、缺省值)。

   

(2)要求界面布局紧凑、流畅、美观,实现的功能较为完善

   (3)本实验分两次完成,第一次可以先做一些准备测试,旨在熟悉JDBC API编程接口中相关类的使用方法,测试中可以先基于字符界面实现功能,再逐步过渡到图形界面。

四.实验步骤

  

(1)在Access或SQLServer中建立数据库及基础表。

在控制面板中正确配置ODBC数据源,并测试成功。

  

(2)编写图形界面的Application,利用JDBC-ODBCBridge进行数据库访问,实现要求的功能。

五、实验主要代码(附数据库访问部分的代码,其他:

如界面的构造部分可省略)

建立的数据库中的内容的截图如下:

在数据库中,所有的信息的类型为字符串,因此在程序中的操作显的相对简单一些,如果不是,比如说生日采用日期的格式,那么在程序中改动或者发送sql语句的时候,还要用到Calendar,并用其建立一个对象。

考虑到此程序的本身代码的长度已经很大,所以没有用到这种方法。

这次程序用的东西着重从布局方式和组件上面入手。

其中布局采用的是嵌套式布局,一个好的图形界面,必然要使用到嵌套,除非那个界面很简单。

因此,单单的布局,在代码中的比重很大很大。

这次试验中,我分别用了null布局,盒式布局,边框布局,当然,默认布局也有。

组件,比起以前多用到了单选框。

另外,在删除数据的时候,用到了一个确认对话框。

程序具体代码如下:

importjava.sql.*;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassmyjdbc

{

publicstaticvoidmain(Stringargs[])

{

myJFramemywin=newmyJFrame("Java数据库连接(JDBC)");

}

}

classmyJFrameextendsJFrameimplementsActionListener

{

JPanelp1,p2;

JButtonsearch,add,update,delete,quit;

JLabelmark;

Boxbasebox,boxv1,boxv2;

myJFrame(Strings)

{

super(s);

p1=newJPanel();

p2=newJPanel();

search=newJButton("按照某关键字查询");

add=newJButton("添加新的学生信息");

update=newJButton("修改已有学生信息");

delete=newJButton("删除某条学生信息");

mark=newJLabel("学生信息管理系统");

quit=newJButton("退出信息管理系统");

mark.setFont(newFont("隶体",Font.BOLD,20));

mark.setForeground(Color.red);

p1.add(mark);

add.setForeground(Color.red);

add.setBackground(Color.cyan);

add.addActionListener(this);

search.setForeground(Color.red);

search.setBackground(Color.cyan);

search.addActionListener(this);

update.setForeground(Color.red);

update.setBackground(Color.cyan);

update.addActionListener(this);

delete.setForeground(Color.red);

delete.setBackground(Color.cyan);

delete.addActionListener(this);

quit.setForeground(Color.red);

quit.setBackground(Color.cyan);

quit.addActionListener(this);

p1.setBackground(Color.yellow);

p2.setBackground(Color.green);

boxv1=Box.createVerticalBox();

boxv1.add(Box.createVerticalStrut(20));

boxv1.add(newLabel("1"));

boxv1.add(Box.createVerticalStrut(6));

boxv1.add(newLabel("2"));

boxv1.add(Box.createVerticalStrut(6));

boxv1.add(newLabel("3"));

boxv1.add(Box.createVerticalStrut(6));

boxv1.add(newLabel("4"));

boxv1.add(Box.createVerticalStrut(6));

boxv1.add(newLabel("5"));

boxv2=Box.createVerticalBox();

boxv2.add(Box.createVerticalStrut(20));

boxv2.add(search);

boxv2.add(Box.createVerticalStrut(10));

boxv2.add(add);

boxv2.add(Box.createVerticalStrut(10));

boxv2.add(update);

boxv2.add(Box.createVerticalStrut(10));

boxv2.add(delete);

boxv2.add(Box.createVerticalStrut(10));

boxv2.add(quit);

basebox=Box.createHorizontalBox();

basebox.add(boxv1);

basebox.add(Box.createHorizontalStrut(8));

basebox.add(boxv2);

p2.add(basebox);

add(p2);

add(p1,BorderLayout.NORTH);

setBounds(500,200,350,320);

setVisible(true);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==search)

{

newSearch();

}

if(e.getSource()==update)

{

newUpdate();

}

if(e.getSource()==delete)

{

newDelete();

}

if(e.getSource()==add)

{

newmyadd();

}

if(e.getSource()==quit)

{

//dispose();

System.exit(0);//调用此语句可以是整个程序结束

}

}

}

classSearchextendsJFrameimplementsActionListener,ItemListener

{

JPanelp1,p2;

JLabelmark;

JButtonyes;

JButtonclose;

JTextFieldtf;

JTextAreata;

Checkboxname,numb,telep;

CheckboxGroupkeytype;

Boxbasebox,boxh1,boxh2,boxh3,boxh4;

Stringkeyword;

Search()

{

super("进入查询");

p1=newJPanel();

p2=newJPanel();

mark=newJLabel("根据不同类型关键字查询信息");

mark.setFont(newFont("华文彩云",Font.BOLD,20));

mark.setForeground(Color.blue);

yes=newJButton("重新查找");

close=newJButton("返回主界面");

close.setBackground(Color.red);

close.setForeground(Color.blue);

close.setSize(100,30);

yes.setBackground(Color.red);

tf=newJTextField(10);

ta=newJTextArea(8,6);

keytype=newCheckboxGroup();

name=newCheckbox("姓名",false,keytype);

numb=newCheckbox("学号",false,keytype);

telep=newCheckbox("联系方式",false,keytype);

boxh1=Box.createHorizontalBox();

boxh1.add(newJLabel("请输入关键字:

"));

boxh1.add(Box.createHorizontalStrut(4));

boxh1.add(tf);

boxh1.add(Box.createHorizontalStrut(4));

boxh1.add(yes);

boxh2=Box.createHorizontalBox();

boxh2.add(newJLabel("请选择关键字的类型"));

boxh2.add(Box.createHorizontalStrut(4));

boxh2.add(name);

boxh2.add(Box.createHorizontalStrut

(2));

boxh2.add(numb);

boxh2.add(Box.createHorizontalStrut

(2));

boxh2.add(telep);

boxh4=Box.createHorizontalBox();

boxh4.add(close);

boxh3=Box.createHorizontalBox();

boxh3.add(newJLabel("查询结果"));

boxh3.add(Box.createHorizontalStrut(4));

boxh3.add(ta);

basebox=Box.createVerticalBox();

basebox.add(boxh1);

basebox.add(Box.createVerticalStrut(5));

basebox.add(boxh2);

basebox.add(Box.createVerticalStrut(5));

basebox.add(boxh3);

basebox.add(Box.createVerticalStrut(5));

basebox.add(boxh4);

yes.addActionListener(this);

close.addActionListener(this);

tf.addActionListener(this);

name.addItemListener(this);

numb.addItemListener(this);

telep.addItemListener(this);

p2.add(basebox);

p1.add(mark);

p2.setBackground(Color.green);

p1.setBackground(Color.cyan);

add(p2);

add(p1,BorderLayout.NORTH);

setBounds(500,200,400,320);

setVisible(true);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==yes)

{

tf.setText("");

ta.setText("");

}

if(e.getSource()==close)

{

dispose();

}

if(e.getSource()==tf)

{

keyword=tf.getText();

}

}

publicvoiditemStateChanged(ItemEvente)

{

ta.setFont(newFont("隶体",Font.PLAIN,12));

ta.setForeground(Color.red);

Connectioncon;

PreparedStatementsql;

ResultSetrs;

if(e.getSource()==name)

{

ta.setText("");

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(ClassNotFoundExceptione2){}

try{con=DriverManager.getConnection("jdbc:

odbc:

Teng","","");

sql=con.prepareStatement("select*from学生基本信息where姓名

=?

");

sql.setString(1,keyword);

rs=sql.executeQuery();

while(rs.next())

{

ta.append("姓名:

"+rs.getString

(1)+"\n");

ta.append("学号:

"+rs.getString

(2)+"\n");

ta.append("性别:

"+rs.getString("性别")+"\n");

ta.append("班级:

"+rs.getString("班级")+"\n");

ta.append("生日:

"+rs.getString("生日")+"\n");

ta.append("籍贯:

"+rs.getString("籍贯")+"\n");

ta.append("补考次数:

"+rs.getString("补考次数")+"\n");

ta.append("联系电话:

"+rs.getString("联系电话"));

}

con.close();

}

catch(SQLExceptione1){}

}

if(e.getSource()==numb)

{

ta.setText("");

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(ClassNotFoundExceptione2){}

try{con=DriverManager.getConnection("jdbc:

odbc:

Teng","","");

sql=con.prepareStatement("select*from学生基本信息where学号

=?

");

sql.setString(1,keyword);

rs=sql.executeQuery();

while(rs.next())

{

ta.append("姓名:

"+rs.getString

(1)+"\n");

ta.append("学号:

"+rs.getString

(2)+"\n");

ta.append("性别:

"+rs.getString("性别")+"\n");

ta.append("班级:

"+rs.getString("班级")+"\n");

ta.append("生日:

"+rs.getString("生日")+"\n");

ta.append("籍贯:

"+rs.getString("籍贯")+"\n");

ta.append("补考次数:

"+rs.getString("补考次数")+"\n");

ta.append("联系电话:

"+rs.getString("联系电话"));

}

}

catch(SQLExceptione1){}

}

if(e.getSource()==telep)

{

ta.setText("");

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(ClassNotFoundExceptione2){}

try{con=DriverManager.getConnection("jdbc:

odbc:

Teng","","");

sql=con.prepareStatement("select*from学生基本信息where联系

电话=?

");

sql.setString(1,keyword);

rs=sql.executeQuery();

while(rs.next())

{

ta.append("姓名:

"+rs.getString

(1)+"\n");

ta.append("学号:

"+rs.getString

(2)+"\n");

ta.append("性别:

"+rs.getString("性别")+"\n");

ta.append("班级:

"+rs.getString("班级")+"\n");

ta.append("生日:

"+rs.getString("生日")+"\n");

ta.append("籍贯:

"+rs.getString("籍贯")+"\n");

ta.append("补考次数:

"+rs.getString("补考次数")+"\n");

ta.append("联系电话:

"+rs.getString("联系电话"));

}

}

catch(SQLExceptione1){}

}

}

}

classUpdateextendsJFrameimplementsActionListener,ItemListener

{

Stringkeyword;

Stringlna,lnu,lcl,lse,lbi,lnat,llo,lte;

JLabelhead=newJLabel("更新某条信息");

JLabelhead1=newJLabel("输入要更新的信息的某个关键字");

JLabelhead2=newJLabel("将变动的信息项输入到相应的文本框中");

JLabeltip=newJLabel("选择关键字类型");

JPanelp1,p2,p3,p4;

Boxbasebox,box1,box2,box3;

Checkboxname,number,tele;

CheckboxGroupkeytype;

JTextFieldtf;

JTextAreata;

JButtonyes=newJButton("返回主界面");

JButtonconti=newJButton("更新另外一条信息");

JButtonlook=newJButton("查看更新好的信息");

JLabelna=newJLabel("姓名");

JLabelnu=newJLabel("学号");

JLabelcl=newJLabel("班级");

JLabelse=newJLabel("性别");

JLabelte=newJLabel("联系电话");

JLabelnat=newJLabel("籍贯");

JLabello=newJLabel("补考次数");

JLabelbi=newJLabel("生日");//p3界面上的部分组建完成

JTextFieldtf1=newJTextField(5);

JTextFieldtf2=newJTextField(5);

JTextFieldtf3=newJTextField(5);

JTextFieldtf4=newJTextFie

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1