1、新闻管理系统文档新闻管理系统文档新闻管理系统文档1 需求描述该系统要求实现合法用户对新闻一级标题信息的查询、删除、增加、修改功能。并在操作过程中通过弹出对话框给予一定的提示。2 系统功能描述2.1 系统功能图 系统功能图如图1所示。图1 系统功能图2.2 系统主流程图 系统主流程图如图2所示。图2 系统主流程图3 数据库设计本系统选择Access数据库,建立名为NewsMis.mdb的数据库,涉及到的数据库表设计如表1-表2所示。表1 UserInfo字段名字段类型可否为空说明UserId文本(20)Not null主键UserPass文本(12)Not null表1 FirstT itle字
2、段名字段类型可否为空说明NewsId文本(6)Not null主键TitleName文本(30)null标题名称NewsClass文本(20)null新闻类别Creator文本(12)null创建者CreateTime文本(50)null创建时间4 类设计本系统设计了News、Login、FirstTitleUI、MyConnection、Listener五个类,具体说明及类图如下:(1)MyConnection类,实现与数据库的连接、数据访问操作操作。MyConnection+getConnection( ):Connection+closeConnection(dbConnection:C
3、onnection):void+ closePreparedStatement(pstat :PreparedStatment):void+closeResult(rs:Result):void(2)News类,实现新闻管理系统主页面。JFrameNews-pan:JPanel-lb:JLabel-bar:JMenuBar-file:JMenu-help:JMenu-file_login:JMenuItem-file_exit:JMenuItem(3)Login类,实现用户登录功能JFrameLogin-pan:JPanel-lbId:JLabel-lbPassword:JLabel-btLo
4、gin:JButton-btCancel:JButton-txtId:JTextField-txtPass:JPasswordField-bar:JMenuBar-gbl:JGridBagLayout-gbc:JGridBagConstraints+createPanel( ):void(4)FirstTitleUI类,实现新闻管理系统信息操作主页面JFrameFirstTitleUI-panQry:JPanel-panInfo:Jpanel-panOperator:JPanel-lbIdQry:JLabel-txtIdQry:JTextFiled-lbNewsId:JLabel-lbTitl
5、eName:JLabel-lbCreator:JLabel-lbTitleClass:Jlabel-btAdd:JButton-btDel:JButton-btUpdate:JButton-btQry:JButton-btExit:JButton-txtNewsId:JTextField-txtTitleName:JTextField-txtCreator:JTextField-txtCreateTime:JTextField-ComboTitleClass:JComboBox-gbl:JGridBagLayout-gbc:JGridBagConstraints+createQueryUI(
6、):void+createInfoUI( ):void+createOperatorUI( ):void+getQueryId( ):String+getNewsId( ):String+getTitleName( ):String+getCreator( ):String+getTitleClass( ):String+getCreateTime( ):String+getBtDel( ):JButton+getBtAdd( ):JButton+getBtUpdate( ):JButton+getBtExit( ):JButton+getBtQry( )JButton+setInformat
7、ion(newsid:String,titlename:String,creator:String,titleclass:String,createtime:String):void(5)Listener类,实现查询、删除、新增、更改、退出系统的操作ActionListener+actionPerformed(evt:ActionEvent)Listener-UI:FirstTitleUI5 关键代码(1)登录代码public void actionPerformed(ActionEvent evt) if(evt.getSource().equals(btLogin) Connection
8、datacon = null; PreparedStatement pstat = null; ResultSet rs = null; try datacon = MyConnection.getConnection(); String str = select * from UserInfo where UserId=? and UserPass=?; pstat = datacon.prepareStatement(str); pstat.setString(1, txtId.getText(); pstat.setString(2,txtPass.getText(); rs = pst
9、at.executeQuery(); if(rs.next() txtId.setText(); txtPass.setText(); new FirstTitleUI().setVisible(true); else (2)查询、删除、更新、增加、退出功能代码public void actionPerformed(ActionEvent evt) JButton obj = (JButton)evt.getSource(); /得到事件源 Connection datacon = null; PreparedStatement pstat = null; ResultSet rs = nul
10、l; Statement stat = null; String titleid=; String titlename=; String creator=; String createtime=; String titleclass=; try datacon = MyConnection.getConnection(); /执行查询操作 if(obj.equals(UI.getBtQry() String strSql = select * from FirstTile where newsId=?; pstat = datacon.prepareStatement(strSql); pst
11、at.setString(1,UI.getQueryId(); rs = pstat.executeQuery(); /执行查询 /取出当前记录的各字段里的值 if(rs.next() titleid = rs.getString(newsId); titlename = rs.getString(TitleName); titleclass = rs.getString(NewsClass); creator = rs.getString(Creator); createtime = rs.getString(CreateTime); UI.setInformation(titleid,ti
12、tlename,creator,titleclass,createtime); else JOptionPane.showMessageDialog(null,没有匹配的新闻!,ok,JOptionPane.PLAIN_MESSAGE); /执行新增操作 if(obj.equals(UI.getBtAdd() String strSql = insert into FirstTile values(?,?,?,?,?); pstat = datacon.prepareStatement(strSql); pstat.setString(1,UI.getNewsId(); pstat.setSt
13、ring(2,UI.getName(); pstat.setString(3,UI.getTitleClass(); pstat.setString(4,UI.getCreator(); pstat.setString(5,UI.getCreateTime(); pstat.executeUpdate(); UI.clear(); JOptionPane.showMessageDialog(null,添加成功!,ok,JOptionPane.PLAIN_MESSAGE); /执行删除操作 if(obj.equals(UI.getBtDel() String strSql = delete fr
14、om FirstTile where newsId=?; pstat = datacon.prepareStatement(strSql); pstat.setString(1,UI.getQueryId(); pstat.executeUpdate(); UI.clear(); JOptionPane.showMessageDialog(null,删除成功!,ok,JOptionPane.PLAIN_MESSAGE); /执行修改操作 if(obj.equals(UI.getBtUpdate() String strSql = Update FirstTile set TitleName=?
15、,Creator=?,NewsClass=?,CreateTime=? where newsId=?; pstat = datacon.prepareStatement(strSql); pstat.setString(1,UI.getName(); pstat.setString(2,UI.getCreator(); pstat.setString(3,UI.getTitleClass(); pstat.setString(4,UI.getCreateTime(); pstat.setString(5,UI.getQueryId(); pstat.executeUpdate(); UI.cl
16、ear(); JOptionPane.showMessageDialog(null,修改成功!,ok,JOptionPane.PLAIN_MESSAGE); /退出系统操作 if(obj.equals(UI.getBtExit() System.exit(0); catch(Exception e) e.printStackTrace(); finally MyConnection.closePreparedStatement(pstat); MyConnection.closeResult(rs); MyConnection.closeConnection(datacon); 6 系统界面(1)系统主界面(2)登录界面(Login.java)(3)新闻一级标题操作界面(FirstTitleUI.java)