世界杯足球赛成绩系统.docx

上传人:b****0 文档编号:9897499 上传时间:2023-05-21 格式:DOCX 页数:24 大小:21.32KB
下载 相关 举报
世界杯足球赛成绩系统.docx_第1页
第1页 / 共24页
世界杯足球赛成绩系统.docx_第2页
第2页 / 共24页
世界杯足球赛成绩系统.docx_第3页
第3页 / 共24页
世界杯足球赛成绩系统.docx_第4页
第4页 / 共24页
世界杯足球赛成绩系统.docx_第5页
第5页 / 共24页
世界杯足球赛成绩系统.docx_第6页
第6页 / 共24页
世界杯足球赛成绩系统.docx_第7页
第7页 / 共24页
世界杯足球赛成绩系统.docx_第8页
第8页 / 共24页
世界杯足球赛成绩系统.docx_第9页
第9页 / 共24页
世界杯足球赛成绩系统.docx_第10页
第10页 / 共24页
世界杯足球赛成绩系统.docx_第11页
第11页 / 共24页
世界杯足球赛成绩系统.docx_第12页
第12页 / 共24页
世界杯足球赛成绩系统.docx_第13页
第13页 / 共24页
世界杯足球赛成绩系统.docx_第14页
第14页 / 共24页
世界杯足球赛成绩系统.docx_第15页
第15页 / 共24页
世界杯足球赛成绩系统.docx_第16页
第16页 / 共24页
世界杯足球赛成绩系统.docx_第17页
第17页 / 共24页
世界杯足球赛成绩系统.docx_第18页
第18页 / 共24页
世界杯足球赛成绩系统.docx_第19页
第19页 / 共24页
世界杯足球赛成绩系统.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

世界杯足球赛成绩系统.docx

《世界杯足球赛成绩系统.docx》由会员分享,可在线阅读,更多相关《世界杯足球赛成绩系统.docx(24页珍藏版)》请在冰点文库上搜索。

世界杯足球赛成绩系统.docx

世界杯足球赛成绩系统

//附加程序代码。

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.event.*;

importjavax.swing.table.*;

importjava.sql.*;

publicclassBrowseJFrameextendsJFrameimplementsListSelectionListener

{

privateDataBaseOperationdboper;//操纵数据库的对象

privateStringtable;//数据库中的表名

privateString[]columnNames;//指定表中所有列的中文标题

privateStringlist_column;//表中的列

privateStringsort_column;//指定排序依据的列

privateJListlist_group;//列表框,显示分类列的不重复值

privateJTabletable_team;//表格组件,显示数据库中指定的内容

privateDefaultTableModeltableModel;//JTable使用的模式

publicBrowseJFrame(DataBaseOperationdboper,Stringtable,String[]columnNames,Stringlist_column,Stringsort_column)//构造方法,指定表名

{

this.dboper=dboper;

this.table=table;

this.columnNames=columnNames;

this.list_column=list_column;

this.sort_column=sort_column;

this.setSize(640,240);//界面设计

this.setLocation(300,240);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

JSplitPanesplitter_h=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT);//分割窗格,水平分割

this.add(splitter_h);

try

{

String[]groupdata=dboper.selectDistinct(table,list_column);//获得指定列不重复的值

this.list_group=newJList(groupdata);

this.list_group.setSelectedIndex

(1);//选中第1项

splitter_h.add(newJScrollPane(this.list_group));

this.list_group.addListSelectionListener(this);//注册选择事件监听器

tableModel=newDefaultTableModel(columnNames,0);//默认表格模式

this.valueChanged(null);//执行列表框的选择事件处理程序

this.table_team=newJTable(tableModel);

//this.table_team.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

splitter_h.add(newJScrollPane(table_team));

}

catch(Exceptione)

{

e.printStackTrace();

}

this.setVisible(true);

}

publicvoiddisplay(StringcolumnValue)

{

Stringconditions="";

if(columnValue!

=null&&!

columnValue.equals("全部"))

conditions=this.list_column+"='"+columnValue+"'";

try

{

dboper.select(this.table,conditions,sort_column,this.tableModel);//查询并显示指定组的数据结果集

}

catch(SQLExceptionsqle)

{

sqle.printStackTrace();

}

}

publicvoidvalueChanged(ListSelectionEvente)//在列表框中选择数据项时触发

{//在表中查询指定组的数据,将数据结果集显示在表格组件中

Stringselecteditem=(String)list_group.getSelectedValue();

if(selecteditem!

=null)

display(selecteditem);

}

publicstaticvoidmain(Stringargs[])

{

Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//指定SQLServerJDBC驱动程序

Stringurl="jdbc:

microsoft:

sqlserver:

//localhost:

1433;DatabaseName=WorldCup2006";//指定SQLServer数据库student的URL

Stringuser="sa";//指定用户名

Stringpassword="yeheya";//指定用户口令

try

{

DataBaseOperationdboper=newDataBaseOperation(driver,url,user,password);

String[]team_columnNames={"组别","球队1","球队2","场次","比赛时间","队1进球数","队2进球数"};

BrowseJFrameteam_browse=newBrowseJFrame(dboper,"MatchRecord",team_columnNames,"group1","number");

team_browse.setTitle("第18届世界杯足球赛小组赛记录表(赛程安排及战况记录)2006年6月9日~7月10日德国");

}

catch(Exceptione)

{

e.printStackTrace();

}

}

}

/*

//小组赛记录表

//小组赛积分榜

String[]team_columnNames={"排名","组别","球队","国旗","场次","胜","平","负","进球","失球","净胜球","积分"};

BrowseJFrameteam_browse=newBrowseJFrame(dboper,"TeamScore",team_columnNames,"group1","rank");

team_browse.setTitle("第18届世界杯足球赛小组赛积分榜");

publicvoidvalueChanged(ListSelectionEvente)//在列表框中选择数据项时触发

{//在表中查询指定组的数据,将数据结果集显示在表格组件中

Stringselecteditem=(String)list_group.getSelectedValue();

Stringconditions=this.list_column+"='"+selecteditem+"'";

try

{

dboper.select(this.table,conditions,sort_column,this.dataModel);//查询并显示指定组的数据结果集

}

catch(SQLExceptionsqle)

{

sqle.printStackTrace();

}

}

*/

//【例11.2】连接指定数据库并获得数据库属性信息。

//【例11.3】执行数据操纵的SQL语句。

//数据库操作类

importjava.sql.DriverManager;

importjava.sql.Connection;

importjava.sql.DatabaseMetaData;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.sql.ResultSet;

importjava.sql.ResultSetMetaData;

importjavax.swing.*;

importjavax.swing.table.*;

publicclassDataBaseOperation

{

privateConnectionconnection;//数据库连接对象

//构造方法,连接指定数据库。

4个参数分别指定JDBC驱动程序、数据库URL、用户名和口令

publicDataBaseOperation(Stringdriver,Stringurl,Stringuser,Stringpassword)

throwsClassNotFoundException,SQLException

{

this.connection=null;

Class.forName(driver);//指定JDBC驱动程序

this.connection=DriverManager.getConnection(url,user,password);//返回数据库连接对象

}

publicDataBaseOperation(Stringdriver,Stringurl)throwsClassNotFoundException,SQLException

{

this.connection=null;

Class.forName(driver);

this.connection=DriverManager.getConnection(url);

}

publicvoidfinalize()throwsSQLException//析构方法,关闭数据库连接

{

this.connection.close();

}

publicStringgetDBAbout()throwsSQLException//获得所连接数据库的属性信息,返回字符串

{

Stringmessage="";

DatabaseMetaDatadbmd=this.connection.getMetaData();

message="JDBC驱动程序:

"+dbmd.getDriverName()+""+dbmd.getDriverVersion()+"\r\n"+

"JDBCURL:

"+dbmd.getURL()+"\r\n"+

"数据库:

"+dbmd.getDatabaseProductName()+"\r\n"+

"数据库版本:

"+dbmd.getDatabaseProductVersion()+"\r\n"+

"用户名:

"+dbmd.getUserName()+"\r\n";

returnmessage;

}

//【例11.3】执行数据操纵的SQL语句。

//执行数据更新的SQL语句,包括INSERT、UPDATE、DELETE语句

//执行成功返回所影响的行数,否则返回0

publicintdataUpdate(Stringsql)throwsSQLException

{

Statementstatement=this.connection.createStatement();

intresult=statement.executeUpdate(sql);

statement.close();

returnresult;

}

//执行数据查询的SELECT语句,参数table指定表名,conditions指定WHERE子句的查询条件,多个条件时用逻辑运算符连接

//执行成功返回数据结果集,否则返回null。

publicvoidselect(Stringsql)throwsSQLException

{

Statementstatement=this.connection.createStatement();

ResultSetresultset=statement.executeQuery(sql);//执行数据查询SELECT语句

ResultSetMetaDatarsmd=resultset.getMetaData();//返回元数据对象

intcolumnCount=rsmd.getColumnCount();//获得列数

for(intj=1;j<=columnCount;j++)

System.out.print(rsmd.getColumnLabel(j)+"");//获得列名

System.out.println();

while(resultset.next())//从前向后访问每行

{

for(intj=1;j<=columnCount;j++)//获得每列值

System.out.print(resultset.getString(j)+"");//获得当前行指定列的值

System.out.println();

}

resultset.close();

statement.close();

}

//实验11按省份分类浏览student数据库中的stuinfo表。

//【例13.1】输入并分类浏览参赛队信息。

//执行数据查询的SELECT语句,参数table指定表名,conditions指定WHERE子句的查询条件,多个条件时用逻辑运算符连接

//执行成功返回数据结果集,否则返回null。

publicString[]selectDistinct(Stringtable,Stringcolumn)throwsSQLException

{

String[]results=null;

if(table!

=null&&table!

="")

{

Stringsql="SELECTDISTINCT"+column+"FROM"+table+"ORDERBY"+column;//获得指定列不重复的值

Statementstatement=this.connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);//设置结果集属性为可滚动、只读

ResultSetresultset=statement.executeQuery(sql);//执行数据查询SELECT语句

if(resultset!

=null)

{

introwCount=0;

while(resultset.next())//获得结果集总行数

rowCount++;

results=newString[rowCount+1];//按列数分配一维数组空间

results[0]="全部";

resultset.beforeFirst();//移动指针到第一行之前

inti=1;

while(resultset.next())//获得每列数据

{

results[i]=resultset.getString

(1);//获得当前行指定列的值

i++;

}

}

resultset.close();

statement.close();

}

else

thrownewSQLException("表名不能为空。

");

returnresults;

}

//执行包含集函数的数据查询SELECT语句

publicintselectCount(Stringsql)throwsSQLException

{

Statementstatement=this.connection.createStatement();

ResultSetresultset=statement.executeQuery(sql);//执行数据查询SELECT语句

resultset.next();

intcount=resultset.getInt

(1);

resultset.close();

statement.close();

returncount;

}

//执行数据查询的SELECT语句,参数table指定表名,conditions指定WHERE子句的查询条件,多个条件时用逻辑运算符连接

//执行成功返回数据结果集,否则返回null。

publicvoidselect(Stringtable,Stringconditions,Stringsort_column,DefaultTableModeltableModel)throwsSQLException

{

if(table!

=null&&table!

="")

{

Stringsql="SELECT*FROM"+table;//查询全部列时

if(conditions!

=null&&conditions!

="")

sql+="WHERE"+conditions;//增加查询条件

sql+="ORDERBY"+sort_column;//按指定列的升序排序

//sql+="ORDERBY'#1'";//默认按第1列的升序排序,SQLServer不支持#1

//System.out.println(sql);

Statementstatement=this.connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);//设置结果集属性为可滚动、只读

ResultSetresultset=statement.executeQuery(sql);//执行数据查询SELECT语句

if(resultset!

=null)

{

introwCount=0;

while(resultset.next())//获得结果集总行数

rowCount++;

ResultSetMetaDatarsmd=resultset.getMetaData();//返回元数据对象

intcolumnCount=rsmd.getColumnCount();//获得列数

tableModel.setRowCount(rowCount);

tableModel.setColumnCount(columnCount);

resultset.beforeFirst();//移动指针到第一行之前

inti=0;

while(resultset.next())//获得每列数据

{

for(intj=1;j<=columnCount;j++)

tableModel.setValueAt(resultset.getString(j),i,j-1);//获得当前行指定列的值

i++;

}

//dataModel.fireTableChanged(null);

}

else

tableModel.setRowCount(0);

resultset.close();

statement.close();

}

else

thrownewSQLException("表名不能为空。

");

}

}

/*

①执行数据插入INSERT语句的方法

在DataBaseOperation类中添加下列insert()方法。

insert()方法将参数指定的表、列及列值转换成一条数据插入的INSERT语句,参数table指定表名,columns[]数组指定多个列,values[]数组指定多个列对应的取值,执行成功返回1,否则返回0。

该方法声明如下。

②执行数据查询SELECT语句的方法

在DataBaseOperation类中添加下列select()方法。

select()方法将参数指定的表及条件转换成一条数据查询的SELECT语句,参数table指定表名,conditions指定WHERE子句的查询条件,多个条件时用逻辑运算符连接。

由于调用executeQuery()方法执行SELECT语句返回一个结果集ResultSet对象,这个对象需要在保持数据库连接的状态才能访问,而select()方法调用是不基于数据库连接的,所以,select()方法不能简单返回一个ResultSet对象,需要将ResultSet对象中的数据读出并转移到一个二维数组Object[][]中。

该方法声明如下。

其中,将ResultSet对象属性设置为可滚动的,按从前向后的方向对结果集访问了两次,第一次循环获得结果集的总行数,以确定二维数组的维数,再调用beforeFirst()方法使结果集指针回到第1行之前,准备再一次对结果集进行访问。

*/

/*

//执行数据查询的SELECT语句,参数table指定表名,conditions指定WHERE子句的查询条件,多个条件时用逻辑运算符连接

//执行成功返回数据结果集,否则返回null。

publicObject[][]select(Stringtable,Stringconditions)throwsSQLException

{

Object[][]resultobj=null;

if(table!

=null&&table!

="")

{

Stringsql="SELECT*FROM"+table;//查询全部列时

if(conditions!

=null&&conditions!

="")

sql+

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

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2