学生信息的增删改查java.docx

上传人:b****3 文档编号:2224207 上传时间:2022-10-28 格式:DOCX 页数:8 大小:26.51KB
下载 相关 举报
学生信息的增删改查java.docx_第1页
第1页 / 共8页
学生信息的增删改查java.docx_第2页
第2页 / 共8页
学生信息的增删改查java.docx_第3页
第3页 / 共8页
学生信息的增删改查java.docx_第4页
第4页 / 共8页
学生信息的增删改查java.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

学生信息的增删改查java.docx

《学生信息的增删改查java.docx》由会员分享,可在线阅读,更多相关《学生信息的增删改查java.docx(8页珍藏版)》请在冰豆网上搜索。

学生信息的增删改查java.docx

学生信息的增删改查java

学生信息的增删改查

注意:

此处用到的是access数据库。

运行后效果如图:

代码如下:

packageexample;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.*;

importjava.sql.*;

importjava.util.Vector;

classmyrandomextendsJFrameimplementsActionListener{

//这个程序的数据是没有写入文件的

JFramef1,f2;

JButtonb1,b2,b3,b4,modify,direction;

JLabela1;

JTextFieldt1,t2,t3,t4;

JTabletable;

myrandom(){

table=newJTable();

f1=newJFrame("学生信息系统");

f1.setVisible(true);//设置窗体可见

a1=newJLabel("输入学号:

");

t1=newJTextField(100);

t2=newJTextField(100);

b1=newJButton("查姓名:

");

b2=newJButton("插入信息");

b3=newJButton("查看数据");

b4=newJButton("删除");

t3=newJTextField(100);

modify=newJButton("修改");

direction=newJButton("操作说明");

t4=newJTextField(100);

f1.setLayout(newGridLayout(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);

}

publicvoidactionPerformed(ActionEvente){

f1.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//关闭窗体后释放资源,若不写这条语句,

//则虽然关闭了窗体,但进程还在运行。

try{//这个try是在整个action中的,用于捕获建立连接异常

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

Stringdburl="jdbc:

odbc:

mydb";//mydb是我建立的access数据源

Connectionconn=DriverManager.getConnection(dburl);//这四条语句是用来在整个action事件中建立连接的

Statementstml=conn.createStatement();//也就不用在每一个button事件(b1,b2,b3,b4)中重复写这四条语句

//以上四条语句也可以改写为下面这四条语句:

//Stringdburl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=C:

\\db1.mdb";

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

//Connectionconn=DriverManager.getConnection(dburl);

//Statementstml=conn.createStatement();

if(e.getSource()==b3){//查看数据(查看数据库中student表的所有信息

f2=newJFrame("显示信息");

f2.setVisible(true);//设置窗体可见

f2.setSize(200,200);//设置窗体大小

Vectorrows=newVector();//用于存储数据库中的行信息

VectorcolumnHeads=newVector();//用于存储数据库中的列标题

try{

ResultSetrs=stml.executeQuery("select*fromstudent");

booleanmoreRecords=rs.next();//定位到达第一条记录,这句话一定要写

ResultSetMetaDatarsmd=rs.getMetaData();//获得rs结果集中列属性信息

for(inti=1;i<=rsmd.getColumnCount();++i)

columnHeads.addElement(rsmd.getColumnName(i));//获得列名(将列名存放至向量columnHeads)

do

{

rows.addElement(getNextRow(rs,rsmd));//获取下一行记录

}

while(rs.next());//利用循环获得所有记录

JTablejTable=newJTable(rows,columnHeads);//将获得的行列数据信息作为参数重新构造表格视图

jTable.setSize(newDimension(383,81));

JScrollPanescroller=newJScrollPane(jTable);//创建带有滚动条的面板,并将表格视图加入

f2.add(scroller,BorderLayout.CENTER);//将面板重新加入溶器中

f2.validate();//验证此容器及其所有子组件

while(rs.next()){

Stringss=rs.getString("id");//显示输出结果

Strings2=rs.getString("name");

System.out.println(ss+s2);

}

rs.close();

stml.close();

conn.close();//使用完后要记得关闭所有连接

}catch(Exceptionee){System.out.println(ee);}

}

elseif(e.getSource()==b2)//插入信息(在t1文本框中输入要插入的学号,

{//在t2文本框中输入要插入的姓名,然后点击插入信息

try{

stml.executeUpdate("insertintostudentvalues('"+t1.getText()+"','"+t2.getText()+"')");

//excute的返回值是boolean型的,excuteUpdate的返回值是int型的,executeQuery的返回值是ResultSet型的

stml.close();

conn.close();

}catch(Exceptione1){System.out.println(e1);}

System.out.println("Insertsuccessfully!

");

JOptionPane.showMessageDialog(f1,"插入成功!

");

}

elseif(e.getSource()==b1)//查姓名(在t1文本框中输入学号,

{//在t2文本框中显示相应的姓名

t3.setText("");

t4.setText("");

try{

System.out.println("hi");

Stringmysql="selectnamefromstudentwhereid='"+t1.getText()+"'";

//ResultSetrs=stml.executeQuery("selectnamefromstudentwhereid='"+t1.getText()+"'");

ResultSetrs=stml.executeQuery(mysql);

Stringsn="";

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(Exceptionee){System.out.println(ee);}

}

elseif(e.getSource()==b4){//按学号删除记录(删除学号和姓名)

try{//在t3文本框中输入要删除的学号

t1.setText("");

t2.setText("");

t4.setText("");

System.out.println("hi");

Stringyy="";

Stringmmsql="select*fromstudentwhereid='"+t3.getText()+"'";

Stringmysql="deletefromstudentwhereid='"+t3.getText()+"'";

ResultSetrs=stml.executeQuery(mmsql);

while(rs.next()){

yy=rs.getString("name");

}

if(yy==""){

JOptionPane.showMessageDialog(f1,"删除失败,没有该学生!

");

rs.close();

}

else{

stml.executeUpdate(mysql);

JOptionPane.s

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

当前位置:首页 > 解决方案 > 学习计划

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

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