标题:求助大神,精通Java和mysql的大神请支援
只看楼主
吴好666
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-5
结帖率:0
已结贴  问题点数:20 回复次数:2 
求助大神,精通Java和mysql的大神请支援
实训课程,用Java和MySQL连接,制作一个学生管理系统,大致输入以下内容:1,学号、2,姓名、3,年龄、4,各科目成绩、5,平均分、6,总分、7.排名。用数字控制平台的运行,有输入和输出,增加和删除,查找和修改,进入和退出。在线等大神支援。。。。。
搜索更多相关主题的帖子: 管理系统 数字控制 mysql 在线 Java 
2016-07-05 10:52
平常心q
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:120
专家分:550
注 册:2016-3-31
得分:20 
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
public class MainFrame extends JFrame implements ActionListener{
 InsertPanel ip = null;
 SelectPanel sp = null;
 JPanel pframe;
 JButton jb1,jb2,jb3;
 JMenuItem jm11,jm21,jm22,jm23,jm31,jm32,jm41,jm42;
 CardLayout clayout;
 public MainFrame(String s){
  super(s);
  JMenuBar mb = new JMenuBar();
  this.setJMenuBar(mb);
  JMenu m1 = new JMenu("系统");
  JMenu m2 = new JMenu("基本信息");
  JMenu m3 = new JMenu("成绩");
  JMenu m4 = new JMenu("奖惩");
  mb.add(m1);
  mb.add(m2);
  mb.add(m3);
  mb.add(m4);
  jm11 = new JMenuItem("退出系统");
  jm21 = new JMenuItem("输入");
  jm22 = new JMenuItem("查询");
  jm23 = new JMenuItem("更改");
  jm31 = new JMenuItem("输入成绩");
  jm32 = new JMenuItem("查询成绩");
  jm41 = new JMenuItem("奖励");
  jm42 = new JMenuItem("处分");
  m1.add(jm11);
  m2.add(jm21);
  m2.add(jm22);
  m2.add(jm23);
  m3.add(jm31);
  m3.add(jm32);
  m4.add(jm41);
  m4.add(jm42);
  Icon i1 = new ImageIcon();
  Icon i2 = new ImageIcon();
  Icon i3 = new ImageIcon();
  jb1 = new JButton(i1);
  jb1.setToolTipText("输入");
  jb2 = new JButton(i2);
  jb2.setToolTipText("查询");
  jb3 = new JButton(i3);
  jb3.setToolTipText("退出");
  JToolBar tb = new JToolBar("系统工具");
  tb.add(jb1);
  tb.add(jb2);
  tb.add(jb3);
  add(tb,BorderLayout.NORTH);
  jm11.addActionListener(this);
  jm21.addActionListener(this);
  jm22.addActionListener(this);
  jb1.addActionListener(this);
  jb2.addActionListener(this);
  jb3.addActionListener(this);
  clayout = new CardLayout();
  pframe = new JPanel(clayout);
  add(pframe);
  JPanel mainp = new JPanel(new BorderLayout());
  JLabel mainl = new JLabel("学生信息管理平台",SwingConstants.CENTER);
  mainl.setFont(new Font("serif",Font.BOLD,30));
  mainp.add(mainl);
  pframe.add(mainp,"main");
  clayout.show(pframe, "main");
 }
 public void actionPerformed(ActionEvent e){
  if(e.getSource() == jm21 || e.getSource() == jb1){
   if(ip == null){
    ip= new InsertPanel();
    pframe.add(ip,"insert");
   }
   clayout.show(pframe, "insert");
   this.setTitle("输入学生信息");
  }
  else if(e.getSource() == jm22 || e.getSource() == jb2){
   if(sp == null){
    sp= new SelectPanel();
    pframe.add(sp,"select");
   }
   clayout.show(pframe, "select");
   this.setTitle("查询学生信息");
  }
  else if(e.getSource() == jm11 || e.getSource() == jb3){
   System.exit(0);
  }
 }
}
第二个:
import javax.swing.JFrame;
public class MainTest {
 public static void main(String [] args){
  MainFrame f = new MainFrame("学生信息管理平台");
  f.setSize(400,300);
  f.setLocation(350,250);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setVisible(true);
 }
}
第二个:
import java.sql.Connection;
import java.sql.DriverManager;
public class MySQLConnection {
 static Connection getCon(){
  Connection con = null;
  try{
   Class.forName("com.mysql.jdbc.Driver");
   con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","123");
  }
  catch(Exception e){
   System.out.println("建立数据库连接遇到异常!");
  }
  return con;
 }
}
第四个:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class SelectPanel extends JPanel implements ActionListener{
 JButton jb;
 JTextField jt;
 JTextField jt1,jt2,jt3,jt4;
 public SelectPanel(){
  JLabel jl = new JLabel("请输入学号:",SwingConstants.CENTER);
  jt  = new JTextField();
  jb = new JButton("确定");
  JPanel jp1 = new JPanel(new GridLayout(1,3));
  jp1.add(jl);
  jp1.add(jt);
  jp1.add(jb);
  JLabel j1,j2,j3,j4;
  j1 = new JLabel("学号:",SwingConstants.CENTER);
  j2 = new JLabel("姓名:",SwingConstants.CENTER);
  j3 = new JLabel("性别:",SwingConstants.CENTER);
  j4 = new JLabel("年龄:",SwingConstants.CENTER);
  jt1 = new JTextField(6);
  jt1.setEditable(false);
  jt2 = new JTextField(6);
  jt2.setEditable(false);
  jt3 = new JTextField(6);
  jt3.setEditable(false);
  jt4 = new JTextField(6);
  jt4.setEditable(false);
  JPanel jp2 = new JPanel(new BorderLayout());
  JPanel jp3 = new JPanel(new GridLayout(4,2));
  jp2.add(new JLabel(""),BorderLayout.NORTH);
  jp3.add(j1);
  jp3.add(jt1);
  jp3.add(j2);
  jp3.add(jt2);
  jp3.add(j3);
  jp3.add(jt3);
  jp3.add(j4);
  jp3.add(jt4);
  jp2.add(jp3);
  this.setLayout(new BorderLayout());
  add(jp1,BorderLayout.NORTH);
  add(jp2);
  jb.addActionListener(this);
 }
 public void actionPerformed(ActionEvent e){
  if(e.getSource() == jb){
   String stuNo = jt.getText().trim();
   Student s = new Student();
   boolean b = true;
   try{
    b = s.selectByStuNo(stuNo);
   }
   catch(Exception ex){
    System.out.println("查询学生信息遇到异常!");
   }
   if(b){
    jt1.setText(s.getStuNo());
    jt2.setText(s.getName());
    jt3.setText(s.getGender());
    int a = s.getAge();
    Integer i = new Integer(a);
    jt4.setText(i.toString());
   }
   else{
    JOptionPane.showMessageDialog(null, "无此学生!");
   }
  }
 }
 
}
第五个:
import javax.swing.JFrame;
public class SelectTest {
 public static void main(String [] args){
  JFrame f = new JFrame("查询学生信息");
  SelectPanel p = new SelectPanel();
  f.add(p);
  f.setSize(400,300);
  f.setLocation(300,250);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setVisible(true);
 }
}
第六个:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class Student {
 String stuNo;
 String name;
 String gender;
 int age;
 public Student(){}
 public Student(String stuNo,String name,String gender, int age){
  this.stuNo = stuNo;
  this.name = name;
  this.gender = gender;
  this.age = age;
 }
 public String getStuNo(){
  return stuNo;
 }
 public void setStuNo(String stuNo){
  this.stuNo = stuNo;
 }
 public String getName(){
  return name;
 }
 public void setName(String name){
  this.name = name;
 }
 public String getGender(){
  return gender;
 }
 public void setGender(String gender){
  this.gender = gender;
 }
 public int getAge(){
  return age;
 }
 public void setAge(int age){
  this.age = age;
 }
 public boolean insertStudent(){
  boolean b = true;
  try{
   Connection con = MySQLConnection.getCon();
   Statement statement = con.createStatement();
   String sql = "insert into student values('" + stuNo + "','" + name +"','" + gender + "'," + age + ")";
   sql = new String(sql.getBytes("gb2312"),"ISO8859_1");
   statement.executeUpdate(sql);
   con.close();
  }
  catch(Exception e){
   b = false;
   System.out.println("插入数据库遇到异常!");
  }
  return b;
 }
 public boolean selectByStuNo(String stuNo)throws Exception{
  boolean b = true;
  Connection con = MySQLConnection.getCon();
  Statement statement = con.createStatement();
  String sql = "select * from student where stuNo =" + stuNo;
  ResultSet rs = statement.executeQuery(sql);
  if(rs != null && rs.next()){
   String no = rs.getString(1);
   this.setStuNo(no);
   String n = rs.getString(2);
   n = new String(n.getBytes("ISO8859_1"),"gb2312");
   this.setName(n);
   String g = rs.getString(3);
   g = new String (g.getBytes("ISO8859_1"),"gb2312");
   this.setGender(g);
   this.setAge(rs.getInt(4));
   b = true;
  }
  rs.close();
  statement.close();
  con.close();
  return b;
 }
}

下面的是连接SQL数据库的代码

你需要先创建个数据库,还有表,表的字段是登陆名和密码  
 下面的"SA" 是登陆名 "111111" 是密码
 ORACLE 和这个查不多

import java.sql.*;//做数据库时候必须要引入的包
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
public class DBFactory {
    Connection Conn=null;
    PreparedStatement Stmt=null;
    ResultSet Rs=null;
    String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String OracleUserName="sa";
    String OracleUserPwd="111111";
    String ConnUrl="jdbc:sqlserver://localhost:1433;databaseName=news";
    public  Connection getConnection()
    {
        try {
            Class.forName(driverName);
        } catch (ClassNotFoundException ex) {
            System.out.println("加载驱动程序有错误");
        }
        try {
            Conn = DriverManager.getConnection(ConnUrl, OracleUserName,OracleUserPwd);
        } catch (SQLException ex1) {
            System.out.print("取得连接的时候有错误,请核对用户名和密码");
        }

        return Conn;
    }

这个是连接ORACLE数据库代码
import java.sql.*;
import oracle.jdbc.driver.OracleDriver;
public class DBFactory {
    Connection Conn=null;
    PreparedStatement Stmt=null;
    ResultSet Rs=null;
    String driverName="oracle.jdbc.driver.OracleDriver";
    String OracleUserName="scott";
    String OracleUserPwd="tiger";
    String ConnUr1="jdbc:oracle:thin:@locahost:1521:Ora";
    public Connection getConnection()
    {
        try {
            Class.forName(driverName);
        } catch (ClassNotFoundException ex) {
            System.out.println("加载驱动程序有错误");
        }
        try {
            Conn = DriverManager.getConnection(ConnUr1, OracleUserName,OracleUserPwd);
        } catch (SQLException ex1) {
            System.out.print("取得连接时有错误,请核对用户名和密码");
        }
        return Conn;
    }
2016-07-05 12:21
吴好666
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-5
得分:0 
回复 2楼 平常心q
谢谢大神,不过在编译MainFrame和SelectPanel出现了错误
不知道怎么修改才会弄好,我是个初学者。感谢大神的帮助
2016-07-05 13:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466641-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.609168 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved