使用JTable管理数据库数据Word格式文档下载.docx

上传人:b****5 文档编号:17298443 上传时间:2022-12-01 格式:DOCX 页数:40 大小:127.38KB
下载 相关 举报
使用JTable管理数据库数据Word格式文档下载.docx_第1页
第1页 / 共40页
使用JTable管理数据库数据Word格式文档下载.docx_第2页
第2页 / 共40页
使用JTable管理数据库数据Word格式文档下载.docx_第3页
第3页 / 共40页
使用JTable管理数据库数据Word格式文档下载.docx_第4页
第4页 / 共40页
使用JTable管理数据库数据Word格式文档下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

使用JTable管理数据库数据Word格式文档下载.docx

《使用JTable管理数据库数据Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《使用JTable管理数据库数据Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。

使用JTable管理数据库数据Word格式文档下载.docx

importjavax.swing.event.*;

publicclassStuMangeextendsJFrameimplementsActionListener{

//定义用户界面用到的组件

JLabeluserName=null;

//要查询的学生的名字

JTextFieldtextField=null;

//用户输入的文本框

JButtonselect=null;

//查询按钮

JButtoninsert=null;

//添加按钮

JButtonupdate=null;

//修改按钮

JButtondelete=null;

//删除按钮

JTabletable=null;

//用于显示数据库调出的数据的表

Panelpanel1=null;

Panelpanel2=null;

Panelpanel3=null;

JScrollPanejscrollPane=null;

StModelstModel=null;

//st表的模型

privateObjectPreparedStatement;

publicstaticvoidmain(String[]args){

StuMangewindow=newStuMange();

}

publicStuMange()

{

//窗口显示的上部的组件

userName=newJLabel("

学生名:

"

);

textField=newJTextField(10);

//用户输入文本框限定为最多输入10个字符

select=newJButton("

查询"

//添加到第一个面板中

panel1=newPanel();

panel1.add(userName);

panel1.add(textField);

panel1.add(select);

//窗口下部的组件

insert=newJButton("

添加"

delete=newJButton("

删除"

update=newJButton("

修改"

//添加到第三个个面板中

panel3=newPanel();

panel3.add(insert);

panel3.add(delete);

panel3.add(update);

//窗口中部的组件

stModel=newStModel();

stModel.insertDatabase("

select*fromst"

table=newJTable(stModel);

jscrollPane=newJScrollPane(table);

//注册事件监听

select.addActionListener(this);

insert.addActionListener(this);

update.addActionListener(this);

delete.addActionListener(this);

//将各个组件添加到窗体中

this.add(panel1,BorderLayout.NORTH);

this.add(jscrollPane,BorderLayout.CENTER);

this.add(panel3,BorderLayout.SOUTH);

//设置窗体属性

this.setSize(400,300);

//设置窗口大小

this.setLocation(200,200);

//设置窗口显示的位置

this.setTitle("

mini学生信息管理系统"

//设置窗口标题

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//设置窗口关闭之后其后台程序同时关闭

//this.setResizable(false);

//设置窗口不可拉伸

//设置窗口为可见

this.setVisible(true);

publicvoidactionPerformed(ActionEvente)

//用户点击了查找按钮

if(e.getSource()==select)

{

Stringparas=textField.getText().trim();

stModel=newStModel();

stModel.insertDatabase("

select*fromstwherestNname='

+paras+"

'

table.setModel(stModel);

}

//用户点击了添加按钮

elseif(e.getSource()==insert)

InsertStudentinsertStudent=newInsertStudent(this,"

添加学生"

true);

//刷新窗口表的数据

}

//用户点击了修改按钮

elseif(e.getSource()==update)

introw=this.table.getSelectedRow();

//用户选择的行数

if(-1==row)//如果用户没有选中行

JOptionPane.showMessageDialog(this,"

请选择一行"

else

UpdateDatabaseupdateDatabase=newUpdateDatabase(this,"

修改学生"

true,stModel,row);

stModel=newStModel();

}

//用户点击了删除按钮

elseif(e.getSource()==delete)

//数据库

Connectioncon=null;

PreparedStatementps=null;

Stringdriver="

com.microsoft.jdbc.sqlserver.SQLServerDriver"

;

//jdbc驱动

Stringurl="

jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;

databaseName=student"

//数据源

Stringuser="

sa"

//数据库用户密码

StringpassWord="

123"

//数据库用户sa的密码

//用户选择的行

if(-1==row)//用户没有选中行

try

{

//加载jdbc驱动

Class.forName(driver);

//连接数据源

con=DriverManager.getConnection(url,user,passWord);

//执行sql

Stringsql="

deletefromstwherestId=?

Stringid=(String)(stModel.getValueAt(row,0));

//获得用户选择的行的学生的学号

ps=con.prepareStatement(sql);

ps.setString(1,id);

ps.executeUpdate();

//刷新窗口

stModel=newStModel();

stModel.insertDatabase("

table.setModel(stModel);

}

catch(ClassNotFoundExceptione1)

e1.printStackTrace();

catch(SQLExceptione1)

finally

//关闭资源

try

{

if(null!

=ps)

{

ps.close();

}

=con)

con.close();

}

catch(SQLExceptione1)

e1.printStackTrace();

}

//--------------------------------------------------------

//StModel文件源代码:

importjavax.swing.table.*;

publicclassStModelextendsAbstractTableModel{

Vector<

String>

columNames=null;

//表的字段名称

Vector>

rowDate=null;

//表的数据

//数据库

privateConnectioncon=null;

privatePreparedStatementps=null;

privateResultSetrs=null;

privatefinalstaticStringdriver="

//加载的jdbc驱动

privatefinalstaticStringurl="

privatefinalstaticStringuser="

//数据库的用户名

privatefinalstaticStringpassWord="

//数据库的用户名的密码

//对数据库进行查找

publicvoidinsertDatabase(Stringsql)

columNames=newVector<

();

rowDate=newVector<

columNames.add("

学号"

名字"

性别"

年龄"

籍贯"

系别"

try

//加载jdbc驱动

Class.forName(driver);

//连接数据源

con=DriverManager.getConnection(url,user,passWord);

//执行sql

ps=con.prepareStatement(sql);

rs=ps.executeQuery();

while(rs.next())

{

Vector<

row=newVector<

row.add(rs.getString

(1));

row.add(rs.getString

(2));

row.add(rs.getString(3));

row.add(rs.getString(4));

row.add(rs.getString(5));

row.add(rs.getString(6));

rowDate.add(row);

//将学生的一条记录(row)添加到rowDate中

}

catch(ClassNotFoundExceptione)

e.printStackTrace();

catch(SQLExceptione)

finally

//关闭数据库资源

if(null!

=rs)

rs.close();

ps.close();

con.close();

catch(SQLExceptione)

e.printStackTrace();

@Override

//返回列数

publicintgetColumnCount(){

//TODOAuto-generatedmethodstub

returnthis.columNames.size();

//返回表的行数

publicintgetRowCount(){

returnthis.rowDate.size();

//得到某行某列的数据

publicObjectgetValueAt(introwIndex,intcolumnIndex){

return((Vector)this.rowDate.get(rowIndex)).get(columnIndex);

//设置表的字段名

publicStringgetColumnName(intcolumn)

return(String)this.columNames.get(column);

//InsertStudent文件源代码:

//添加学生的对话框类

publicclassInsertStudentextendsJDialogimplementsActionListener{

privateJLabelid,name,sex,age,address,dep;

//分别代表学生的学号,名字,性别,年龄,籍贯,系别

privateJTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6;

//用户输入的文本框,分别为学生的学号,名字,性别,年龄,籍贯,系别

privateJButtonadd,canel;

//分别为添加按钮和取消按钮

privatePanelpanel1,panel2,panel3;

publicInsertStudent(Frameowner,Stringtitle,booleanmodel)

super(owner,title,model);

//实现与父类窗口对话

System.out.println("

我执行了"

//窗体的西部的组件

id=newJLabel("

学号:

name=newJLabel("

姓名:

sex=newJLabel("

age=newJLabel("

address=newJLabel("

dep=newJLabel("

系别:

//添加到panel1面板中

panel1=newPanel(newGridLayout(6,1));

panel1.add(id);

panel1.add(name);

panel1.add(sex);

panel1.add(age);

panel1.add(address);

panel1.add(dep);

//窗体的东部组件

jtf1=newJTextField(10);

jtf2=newJTextField(10);

jtf3=newJTextField(10);

jtf4=newJTextField(10);

jtf5=newJTextField(10);

jtf6=newJTextField(10);

//添加到第二个面板中

panel2=newPanel(newGridLayout(6,1));

panel2.add(jtf1);

panel2.add(jtf2);

panel2.add(jtf3);

panel2.add(jtf4);

panel2.add(jtf5);

panel2.add(jtf6);

//窗体北部的控件

add=newJButton("

canel=newJButton("

取消"

//注册事件监听

add.addActionListener(this);

canel.addActionListener(this);

//添加到panel3面板中

panel3=newPanel();

panel3.add(add);

panel3.add(canel);

//将各个组件添加到窗体中

this.add(panel1,BorderLayout.WEST);

this.add(panel2,BorderLayout.CENTER);

this.add(panel3,BorderLayout.SOUTH);

//设置对话框属性

this.setSize(300,200);

//设置对话框为可见

this.setVisible(true);

booleanresult=true;

//记录添加学生是否成功

if(e.getSource()

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

当前位置:首页 > PPT模板 > 其它模板

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

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