学生信息的增删改查java之欧阳德创编Word格式文档下载.docx
- 文档编号:4583301
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:9
- 大小:17.55KB
学生信息的增删改查java之欧阳德创编Word格式文档下载.docx
《学生信息的增删改查java之欧阳德创编Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生信息的增删改查java之欧阳德创编Word格式文档下载.docx(9页珍藏版)》请在冰点文库上搜索。
学生信息系统"
);
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="
driver={MicrosoftAccessDriver(*.mdb)};
DBQ=C:
\\db1.mdb"
//Class.forName("
//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("
System.out.println("
hi"
Stringmysql="
selectnamefromstudentwhereid='
//ResultSetrs=stml.executeQuery("
ResultSetrs=stml.executeQuery(mysql);
Stringsn="
while(rs.next())//此处while语句用于逐条查询
{
sn=rs.getString("
学号为:
姓名是:
+sn);
if(sn=="
)//如果没有找到该学生的姓名
JOptionPane.showMessageDialog(f1,"
没有该学生!
else
t2.setText(sn);
elseif(e.getSource()==b4){//按学号删除记录(删除学号和姓名)
try{//在t3文本框中输入要删除的学号
t1.setText("
t2.setText("
t4.setText("
Stringyy="
Stringmmsql="
select*fromstudentwhereid='
+t3.getText()+"
deletefromstudentwhereid='
ResultSetrs=stml.executeQuery(mmsql);
yy=rs.getString("
if(yy=="
){
删除失败,没有该学生!
else{
stml.executeUpdate(mysql);
JOptionPane.showMessageDialog(f1,"
删除成功!
successtodelete!
elseif(e.getSource()==modify){//修改姓名:
在t1文本框中输入要修改的学号,
try{//在t4文本框中输入修改后的名字
//JOptionPane.showMessageDialog(f1,"
请在输入学号后面输入修改前的学号,在修改后面输入修改后该学号的姓名!
t2.setText("
Stringmm="
Stringmmsql="
Stringmysql="
updatestudentsetname='
+t4.getText()+"
whereid='
ResultSetrs=stml.executeQuery(mmsql);
while(rs.next()){
mm=rs.getString("
}
if(mm=="
修改失败,没有该学生!
rs.close();
else{
stml.executeUpdate(mysql);
修改成功!
stml.close();
conn.close();
}catch(Exceptioneee){System.out.println(eee);
System.out.println("
Congratulations!
modifysuccess!
else{
try{JOptionPane.showMessageDialog(f1,"
1若要修改:
请在输入学号后面输入修改前的学号,"
+"
\\\n"
+
"
在修改后面输入修改后该学号的姓名,然后点击'
修改'
;
+"
\\\n"
2若要删除,请在删除后面出入要删学生的学号,然后点击'
删除'
+
3若要插入信息,请在输入学号后面输入学号,在查姓名后面输入姓名,然后点击'
插入信息'
4若要若要查询数据,直接点击'
查看数据'
5输入学生的学号,再点击'
查姓名'
可以查找该学号学生的姓名。
);
}catch(Exceptione2){System.out.println(e2);
}catch(Exceptionee){System.out.println(ee);
publicstaticvoidmain(String[]args){
newmyrandom();
}
publicVectorgetNextRow(ResultSetrs,ResultSetMetaDatarsmd)throwsSQLException//该方法获取下一行记录
VectorcurrentRow=newVector();
//定义一个向量,用于存放记录
currentRow.addElement(rs.getString(i));
//获取记录
returncurrentRow;
//返回记录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息 增删 java 欧阳 创编