星星入眸 2023-01-10 18:54 采纳率: 70%
浏览 26
已结题

图片中的错误怎么修改?

我运行Main页面,运行失败,提示了六个错误,但是六个错误里没有标红,所以我不清楚是哪一个部分出现了错误,求帮助,谢谢。

img

package utility;
import java.sql.*;

public class DBHelper {
    //设置一个整体程序只能唯一获取到单列数据库连接对象
        private static Connection conn =null ;
        public static Connection getConnection() {
            //将驱动类加载到内容当中
            try {
                Class.forName("com.mysql.jdbc.Driver");
                //通过驱动管理器类获取一个数据库连接对象
                if(conn==null)
                conn = DriverManager.getConnection("java:mysql://192.168.1.4;33062_test","root","123456");
            return conn;
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return conn;
}
}
import java.sql.*;
import java.util.ArrayList;

import Model.User;
import utility.DBHelper;
public class UserDao {
    private Connection conn;//数据库连接对象
    String sql ;//定义SQL语句
    PreparedStatement ps;//预处理表达式对象
    ResultSet rs;//查询语句执行后返回的结果集合
    public UserDao() {
        super();
        // TODO Auto-generated constructor stub
        //初始化数据库连接对象
        conn = DBHelper.getConnection();
    }
    
    //定义方法,执行SQL语句,并处理数据库返回的内容
    public ArrayList getAll() {
        //定义一个无条件查询的SQL语句
        sql = "delect * from tb_user ";
        //初始化一个容器类数组列表
        ArrayList list = new ArrayList();
        //产生一个可以执行SQL语句预处理表达式对象
        try {
            ps = conn.prepareStatement(sql);
            //让预处理表达式对象执行查询语句
            rs = ps.executeQuery();


            //逐行逐字段的拆开结果中的内容
            while (rs.next()) {
            //拆分结果集中的某一行
            int id = rs.getInt("id");
            String number = rs.getString("number");
            String category = rs.getString("category");
            String price = rs.getString("price");
            String chandi = rs.getString("chandi");
            //将一行数据库的多个字段的值打包放入一个对象当中
            User u = new User(id,number,category,price,chandi);
            //用一个容器将每次产生的对象保存起来
            list.add(u);
        }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        return list;
    } 
    //定义插入语句
    public boolean insert(User u) {
        sql = "insert into tb_user(id,number,category,price,chandi) valuse(?,?,?,?,?)";
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1, u.getId());
            ps.setString(2, u.getNumber());
            ps.setString(2, u.getCategory());
            ps.setString(2, u.getPrice());
            ps.setString(2, u.getChandi());
            //执行插入语句
            int i = ps.executeUpdate();
            if(i>0) return true;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    //定义删除语句
    public boolean delete(int id) {
        sql = "delect from tb_user where id=?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1,id);
            int i = ps.executeUpdate();
            if(i>0) return false;
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    //定义一个修改语句
    public boolean update(User u) {
        sql = "update tb-user set number=?,category=?,price=?,chandi=? where id=?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setString(1, u.getNumber());
            ps.setString(1, u.getCategory());
            ps.setString(1, u.getPrice());
            ps.setString(1, u.getChandi());
            int i = ps.executeUpdate();
            if(i>0) return true;
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    //定义按条件查询的SQL语句
    public ArrayList getUsers(String column,String value) {
        sql = "selsect * from tb_user where "+column+" = "+value;
        ArrayList list = new ArrayList();
        try {
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            
            //逐行逐字段的拆开结果中的内容
            while (rs.next()) {
            //拆分结果集中的某一行
            int id = rs.getInt("id");
            String number = rs.getString("number");
            String category = rs.getString("category");
            String price = rs.getString("price");
            String chandi = rs.getString("chandi");
            //将一行数据库的多个字段的值打包放入一个对象当中
            User u = new User(id,number,category,price,chandi);
            //用一个容器将每次产生的对象保存起来
            list.add(u);
        }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }
    //获取该表最大的id值
    public int getMaxId() {
        sql = "select max(id) as id from tb_user";
        //获取一个可以执行SQL语句的对象
        try {
            ps = conn.prepareStatement(sql);
            //执行SQL语句
            rs = ps.executeQuery();
            if(rs.next()) {
                return rs.getInt("id");
            }
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return 0;
    }
    //根据用户名和密码判断登录是否成功
    public boolean login(String username,String password) {
    sql = "select * from tb_user where username=? and password=?";
    try {
        ps = conn.prepareStatement(sql);
        //设置问号里面的参数
        ps.setString(1, username);
        ps.setString(2, password);
        rs = ps.executeQuery();
        if(rs.next())return true;
        
        
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
       return false; 
    }
}
package service;

import java.util.ArrayList;

import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import Dao.UserDao;
import Model.User;

public class UserService {
     private UserDao ud;

    public UserService() {
        super();
        // TODO Auto-generated constructor stub
        ud = new UserDao();
    }
     //将数据库的所有记录都写入一个JTanle表格控件中
    public boolean fillAll(JTable table) {
        //返回数据库当中用户表的所有记录
        ArrayList list = ud.getAll();
        //准备表格的表头数据
        String[] head = {"id","number","category","price","chandi"};
        //准备表格的内容,一个二维数组
        String[][] content=new String [list.size()][5];
        for(int i=0;i<list.size();i++) {
            //将数组列表中的数据记录对象取出来
            User u = (User)list.get(i);
            //拆开字段
            int id = u.getId();
            String number = u.getNumber();
            String category = u.getCategory();
            String price = u.getPrice();
            String chandi = u.getChandi();
            content[i][0] = id+"";
            content[i][1] =number;
            content[i][2] =category;
            content[i][3] =price;
            content[i][4] =chandi;
        }
        //创建数据模型对象,准备植入到表格中
        DefaultTableModel model = new DefaultTableModel(content,head);
        //将模型填入表格
        table.setModel(model);
        return true;
    }
    //返回部分记录
    //将数据库的所有记录都写入一个JTanle表格控件中
        public boolean fillSome(JTable table,String column,String value) {
            //返回数据库当中用户表的所有记录
            ArrayList list = ud.getUsers(column,value);
            //准备表格的表头数据
            String[] head = {"id","number","category","price","chandi"};
            //准备表格的内容,一个二维数组
            String[][] content=new String [list.size()][5];
            for(int i=0;i<list.size();i++) {
                //将数组列表中的数据记录对象取出来
                User u = (User)list.get(i);
                //拆开字段
                int id = u.getId();
                String number = u.getNumber();
                String category = u.getCategory();
                String price = u.getPrice();
                String chandi = u.getChandi();
                content[i][0] = id+"";
                content[i][1] =number;
                content[i][2] =category;
                content[i][3] =price;
                content[i][4] =chandi;
            }
            //创建数据模型对象,准备植入到表格中
            DefaultTableModel model = new DefaultTableModel(content,head);
            //将模型填入表格
            table.setModel(model);
            return true;
        }
    
}
package page;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;

import Dao.UserDao;
import Model.User;
import service.UserService;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.ActionEvent;

public class AddPage {

    private JInternalFrame frame;
    private JTable table;
    private JLabel lblNewLabel;
    private JTextField id;
    private JLabel lblNewLabel_1;
    private JTextField number;
    private JTextField category;
    private JTextField chandi;
    private JTextField price;
    private JLabel label;
    private JLabel label_1;
    private JLabel label_2;
    
    public JInternalFrame getFrame() {
        return frame;
    }

    public void setFrame(JInternalFrame frame) {
        this.frame = frame;
    }

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    AddPage window = new AddPage();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public AddPage() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JInternalFrame();
        frame.setTitle("\u6DFB\u52A0\u9875\u9762");
        frame.setBounds(0, 0, 707, 430);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(10, 10, 596, 96);
        frame.getContentPane().add(scrollPane);
        
        table = new JTable();
        table.setModel(new DefaultTableModel(
            new Object[][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
            },
            new String[] {
                "id", "\u4EA7\u54C1\u7F16\u53F7", "\u4EA7\u54C1\u7C7B\u522B", "\u4EA7\u54C1\u4EF7\u683C", "\u4EA7\u5730"
            }
        ));
        
        //调用数据服务层类UserService往表格填充数据
        new UserService().fillAll(table);
        
        scrollPane.setViewportView(table);
        
        lblNewLabel = new JLabel("id:");
        lblNewLabel.setBounds(10, 123, 50, 24);
        frame.getContentPane().add(lblNewLabel);
        
        id = new JTextField();
        id.setBounds(70, 125, 126, 22);
        frame.getContentPane().add(id);
        id.setColumns(10);
        
        lblNewLabel_1 = new JLabel("\u4EA7\u54C1\u7F16\u53F7\uFF1A");
        lblNewLabel_1.setBounds(10, 162, 60, 24);
        frame.getContentPane().add(lblNewLabel_1);
        
        number = new JTextField();
        number.setBounds(70, 164, 126, 22);
        number.setColumns(10);
        frame.getContentPane().add(number);
        
        category = new JTextField();
        category.setBounds(70, 206, 126, 22);
        category.setColumns(10);
        frame.getContentPane().add(category);
        
        chandi = new JTextField();
        chandi.setBounds(352, 164, 126, 22);
        chandi.setColumns(10);
        frame.getContentPane().add(chandi);
        
        price = new JTextField();
        price.setBounds(352, 125, 126, 22);
        price.setColumns(10);
        frame.getContentPane().add(price);
        
        label = new JLabel("\u4EA7\u54C1\u7C7B\u522B\uFF1A");
        label.setBounds(10, 206, 60, 24);
        frame.getContentPane().add(label);
        
        label_1 = new JLabel("\u4EA7\u54C1\u4EF7\u683C\uFF1A");
        label_1.setBounds(295, 123, 60, 24);
        frame.getContentPane().add(label_1);
        
        label_2 = new JLabel("\u4EA7\u5730\uFF1A");
        label_2.setBounds(295, 162, 60, 24);
        frame.getContentPane().add(label_2);
        
        JButton tianjia = new JButton("\u6DFB\u52A0");
        tianjia.addMouseListener(new MouseAdapter() {
            public void actionPerformed(ActionEvent arg0) {
                //获取页面的五个值
                int id_v = Integer.parseInt(id.getText());
                String number_v = number.getText();
                String category_v = category.getText();
                String price_v = price.getText();
                String chandi_v = chandi.getText();
                //将五个部分拼接成为一个模型层的类对象
                User u = new User(id_v,number_v,category_v,price_v,chandi_v);
                //调用Dao层的insert方法将数据写入数据库
                UserDao ud = new UserDao();
                ud.insert(u);
                //再次调用服务层的fillAll()方法
                UserService us = new UserService();
                us.fillAll(table);
            }
        });
        tianjia.setBounds(379, 205, 82, 23);
        frame.getContentPane().add(tianjia);
        //将窗口设置为可见
        frame.setVisible(true);
    }
}

package page;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JDesktopPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JTable;
import java.awt.SystemColor;

public class MainPage {

    private JFrame frame;
    private JMenuBar menuBar;
    private JTable table;
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MainPage window = new MainPage();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public MainPage() {
        initialize();
        frame.setVisible(true);
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setTitle("\u4E3B\u9875\u9762");
        
        frame.setBounds(100, 100, 740, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.getContentPane().setLayout(null);
        
         menuBar = new JMenuBar();
         menuBar.setBackground(new Color(240, 240, 240));
         menuBar.setBounds(0, 0, 714, 437);
        frame.getContentPane().add(menuBar);
        
        JMenu mnNewMenu = new JMenu("\u4EA7\u54C1\u7BA1\u7406");
        menuBar.add(mnNewMenu);
        
        JMenuItem mntmNewMenuItem = new JMenuItem("\u6DFB\u52A0\u7528\u6237");
        mntmNewMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                //获取一个添加页面的对象
                AddPage add = new AddPage();
                //将桌面存在的内容都清理一遍
                menuBar.removeAll();
                //将页面加入到桌面面板
                menuBar.add(add.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem);
        
        JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u67E5\u8BE2\u7528\u6237");
        mntmNewMenuItem_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                SearchPage sp = new SearchPage();
                //运行一次可以同时将添加页面和查询页面显示出来,新加页面之前把原有桌面 
                menuBar.removeAll();
                //将窗口成员添加到menuBar 里面
                menuBar.add(sp.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem_1);
        
        JMenuItem mntmNewMenuItem_2 = new JMenuItem("\u4FEE\u6539\u7528\u6237");
        mntmNewMenuItem_2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                EditPage sp = new EditPage();
                menuBar.removeAll();
                menuBar.add(sp.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem_2);
        
        JMenuItem mntmNewMenuItem_3 = new JMenuItem("\u5220\u9664\u7528\u6237");
        mntmNewMenuItem_3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DeleteUserPage sp = new DeleteUserPage();
                menuBar.removeAll();
                //将窗口成员添加到menuBar 里面
                menuBar.add(sp.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem_3);
        JDesktopPane desktopPane = new JDesktopPane();
        desktopPane.setBackground(Color.LIGHT_GRAY);
        desktopPane.setBounds(10, 52, 707, 400);
        frame.getContentPane().add(desktopPane);
        desktopPane.setLayout(null);
        
        table = new JTable();
        table.setBounds(0, 0, 1, 1);
        frame.getContentPane().add(table);
    }
}

以上是有错误的全部代码,麻烦了,谢谢。

  • 写回答

1条回答 默认 最新

  • pzzhao 2023-01-10 19:04
    关注

    你的数据库链接写错了,开头应该是jdbc而不是java, 另外端口号那里要用冒号而不是分号

    conn = DriverManager.getConnection("jdbc:mysql://192.168.1.4:3306/2_test","root","123456");
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月18日
  • 已采纳回答 1月10日
  • 创建了问题 1月10日

悬赏问题

  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效