подключение к базе данных - PullRequest
2 голосов
/ 03 июня 2011

Может кто-нибудь помочь мне, как подключить мои формы Java к моей базе данных MySQL?у меня есть следующие коды, но это не сработало ...

private void saveActionPerformed(java.awt.event.ActionEvent evt) {                                        

    String value1 = textField1.getText();
    String value2 = textField2.getText();
    String value3 = textField3.getText();
    String value4 = textField4.getText();
    Connection con = null;
    String url = "jdbc:mysql://localhost:3306/Marketing";
    String driver = "com.mysql.jdbc.Driver";
    String db = "Marketing";
    String user = "root";
    String pass = "";
    System.out.println(value1 + value2 + value3 + value4);
    try {
        Class.forName(driver);
        con = DriverManager.getConnection(url + db, user, pass);
        PreparedStatement st = con.prepareStatement("insert into clients (idclients,    name, address, contact_person, contact_num) values(?,?,?,?,?)");
        st.setString(2, value2);
        st.setString(3, value3);
        st.setString(4, value4);
        st.executeUpdate();
        JOptionPane.showMessageDialog(jPanel1, "Data is successfully inserted into database.");
        con.close();
    } catch (Exception e) {
        JOptionPane.showMessageDialog(jPanel1, "Error in submitting data!");
    }
}                     

Ответы [ 3 ]

2 голосов
/ 03 июня 2011

Одна проблема, которую я сразу вижу, состоит в том, что ваш PreparedStatement ожидает 5 параметров (1 - 5), но вы устанавливаете только 3! Во-вторых, я не уверен, почему вы используете DriverManager.getConnection (url + db , ...), когда URL вашей базы данных уже содержит имя базы данных, поэтому используйте просто DriverManager.getConnection(url,user,pass). Сказав это, хотя, было бы хорошо, если бы вы могли уточнить, что именно не работает?

1 голос
/ 03 июня 2011

Ошибка в этом утверждении:

 con = DriverManager.getConnection(url + db, user, pass);

Метод getConnection подключается к базе данных по URL, указанному в 1-м параметре. Здесь вы объединяете 2 переменные с именами url и db, поэтому ваш URL-адрес соединения будет: jdbc:mysql://localhost:3306/MarketingMarketing, что может быть не тем, что вам нужно. Используйте только url вместо url + db.

1 голос
/ 03 июня 2011

Проблема с кодом подключения:

url = jdbc:mysql://localhost:3306/Marketing
db  = Marketing

url + db = jdbc:mysql://localhost:3306/MarketingMarketing 

здесь необходимо удалить один дополнительный маркетинг

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...