Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将数据保存到mysql_Java_Mysql_Eclipse - Fatal编程技术网

Java 如何将数据保存到mysql

Java 如何将数据保存到mysql,java,mysql,eclipse,Java,Mysql,Eclipse,我一直在开发一个关于EclipseJava的电话簿程序 但是idk如何将信息从textfield保存到mysql,然后在搜索中使用它,比如写下姓名并查找特定联系人的所有信息 我还想将其保存到我的sql中 这是我的密码: public class Phone { private JFrame frame; private JTextField firstfield; private JTextField phonefield; private JTextField

我一直在开发一个关于EclipseJava的电话簿程序

但是idk如何将信息从
textfield
保存到
mysql
,然后在搜索中使用它,比如写下姓名并查找特定联系人的所有信息 我还想将其保存到我的sql中 这是我的密码:

public class Phone {

    private JFrame frame;
    private JTextField firstfield;
    private JTextField phonefield;
    private JTextField emailfield;
    private JTextField lastfield;
    private JPanel MainScreen; 
    private JPanel newcontact;
    private JPanel searchscreen;



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

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

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(new CardLayout(0, 0));

        final JPanel MainScreen = new JPanel();
        frame.getContentPane().add(MainScreen, "name_6058038854379");
        MainScreen.setLayout(null);
        MainScreen.setVisible(true);

        final JPanel newcontact = new JPanel();
        newcontact.setLayout(null);
        frame.getContentPane().add(newcontact, "name_791613670731");
        newcontact.setVisible(false);

        final JPanel searchscreen = new JPanel();
        frame.getContentPane().add(searchscreen, "name_6068807854350");
        searchscreen.setVisible(false);


        JButton newrecord = new JButton("New Record");
        newrecord.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                newcontact.setVisible(true);
                MainScreen.setVisible(false);

            }
        });
        newrecord.setBounds(63, 99, 116, 52);
        MainScreen.add(newrecord);

        JButton Search = new JButton("Search");
        Search.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                searchscreen.setVisible(true);
                newcontact.setVisible(false);
            }
        });
        Search.setBounds(243, 99, 102, 52);
        MainScreen.add(Search);

        JLabel myphonebook = new JLabel("   My Phonebook");
        myphonebook.setBounds(162, 44, 102, 14);
        MainScreen.add(myphonebook);



        JLabel first = new JLabel("First Name:");
        first.setBounds(118, 83, 66, 14);
        newcontact.add(first);

        JLabel last = new JLabel("Last Name:");
        last.setBounds(118, 108, 66, 14);
        newcontact.add(last);

        JLabel Phone = new JLabel("Phone:");
        Phone.setBounds(118, 143, 66, 14);
        newcontact.add(Phone);

        JLabel Emailadress = new JLabel("Email Adress:");
        Emailadress.setBounds(118, 180, 66, 14);
        newcontact.add(Emailadress);

        firstfield = new JTextField();
        firstfield.setColumns(10);
        firstfield.setBounds(220, 80, 86, 20);
        newcontact.add(firstfield);

        lastfield = new JTextField();
        lastfield.setColumns(10);
        lastfield.setBounds(220, 108, 86, 20);
        newcontact.add(lastfield);



        phonefield = new JTextField();
        phonefield.setColumns(10);
        phonefield.setBounds(220, 140, 86, 20);
        newcontact.add(phonefield);


        emailfield = new JTextField();
        emailfield.setColumns(10);
        emailfield.setBounds(220, 177, 86, 20);
        newcontact.add(emailfield);



        JLabel lblNewContact = new JLabel("New Contact");
        lblNewContact.setBounds(166, 30, 86, 14);
        newcontact.add(lblNewContact);

        JButton Save = new JButton("Save");
        Save.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                String firstname=firstfield.getText();
                String lastname=lastfield.getText();
                String phonenumber=phonefield.getText();
                String emailadress=emailfield.getText();



            }
        });
        Save.setBounds(81, 232, 89, 23);
        newcontact.add(Save);

        JButton cancel = new JButton("Cancel");
        cancel.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                newcontact.setVisible(false);
                MainScreen.setVisible(true);
            }
        });
        cancel.setBounds(283, 232, 89, 23);
        newcontact.add(cancel);



        JPanel panel_1 = new JPanel();
        frame.getContentPane().add(panel_1, "name_6081212161880");
    }
}

将其写入savecommand。您应该只在表中创建数据库并更改大写单词

 try
        {
          // create a mysql database connection
          String myDriver = "org.gjt.mm.mysql.Driver";
          String myUrl = "jdbc:mysql://LOCATION/DATABASE"; 
          Class.forName(myDriver);
          Connection conn = DriverManager.getConnection(myUrl, "root", "");

          // create a sql date object so we can use it in our INSERT statement
          Calendar calendar = Calendar.getInstance();
          java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());

          // the mysql insert statement
          String query = " insert into TABLE (first_name, last_name, phone_number, email_adress)"
            + " values (?, ?, ?, ?)";

          // create the mysql insert preparedstatement
          PreparedStatement preparedStmt = conn.prepareStatement(query);
          preparedStmt.setString (1, firstname);
          preparedStmt.setString (2, lastname);
          preparedStmt.setString (3, phonenumber);
          preparedStmt.setString (4, emailadress);

          // execute the preparedstatement
          preparedStmt.execute();

          conn.close();
        }
        catch (Exception e)
        {
          System.err.println("Got an exception!");
          System.err.println(e.getMessage());
        }
      }

这是一个有趣的项目,让我们知道如果你有问题!嘿@Shadow我有个问题。我是编程新手,我想知道preparedStmt.execute()是否;将带来mysql信息并在程序上显示,因此我将其放在“保存”按钮的actionlistener下,它将工作??它给出了一个错误,因为PreparedStatement、Calendar和Connection无法解析为类型,DriverManager根本无法解析plz help@Matti9811正常,但我遇到了一个异常,这代码org.gjt.mm.mysql.Driver