Проблема с подключением JDBC - PullRequest
0 голосов
/ 26 марта 2010

Я использую среду IDE NetBeans (6.8). У меня есть класс БД:

package garits;
import java.io.Serializable;
import java.sql.*;
import java.util.Properties;
public class DB implements Serializable{

  private static final long serialVersionUID = 1L;
  String dbURL = "jdbc:mysql:///team_project";
  String user = "root";
  String pwd = "arsenal";
  String dbDriver = "com.mysql.jdbc.Driver";
  private Connection dbCon;
  private ResultSet r;
  private Statement s;

  public DB()
      {}

  public boolean connect() throws ClassNotFoundException,SQLException{
          Class.forName(dbDriver);
          Properties props = new Properties();
          props.put(user, "root");
          props.put(pwd, "arsenal");
          props.put("charSet", "UTF-8");
          props.put("lc_ctype", "UTF-8");
          dbCon = DriverManager.getConnection(dbURL,props);
          //dbCon = DriverManager.getConnection(dbURL,user,pwd);
          return true;
  }

  public void close() throws SQLException{
        dbCon.close();
  if(r!=null)
   r.close();
  if(s!=null)
   s.close();
  }

  public ResultSet execSQL(String sql) throws SQLException{

                    s = dbCon.createStatement();
                    r = s.executeQuery(sql);
                    return (r == null) ? null : r;
  }

  public int updateSQL(String sql) throws SQLException{
                   s = dbCon.createStatement();
                   int r = s.executeUpdate(sql);
                   return (r == 0) ? 0 : r;
  }

  public int updateSQL(String sql, String getID) throws SQLException{
      s = dbCon.createStatement();
      int autoIncValue = -1;
      s.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
      ResultSet rs = s.getGeneratedKeys();
      if (rs.next()) {
          autoIncValue = rs.getInt(1);
      }
      return autoIncValue;
  }
}

Файл jar - это моя библиотека, но всякий раз, когда я пытаюсь подключиться:

 private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
       String result ="";
        DB db = new DB();
       try{
           db.connect();
           String query = "Select Role From User_Account Where Username=jTextField1.getText()AND Where Password=jTextField2.getText(); ";
           ResultSet rs=db.execSQL(query);
          while(rs.next())
          {
              result = rs.getString("Role");

          }
           if(result.equals(""))
           {
               JOptionPane.showMessageDialog(loginButton,"Access denied","Error Message",JOptionPane.ERROR_MESSAGE);

           }
           else if(result.equals("Administrator"))
           {
               MainPage_Admin admin = new MainPage_Admin();
           }

       }
           catch(Exception e)
           {
            System.out.println("An error has occurred");
           }



    }  

Я получаю сообщение об ошибке (исключение поймано) - имя базы данных «team_project» и пароль «arsenal» - любые идеи приветствуются. Я новичок в JDBC.

Ответы [ 2 ]

1 голос
/ 26 марта 2010

Первый шаг: используйте как минимум e.printStackTrace() в блоке catch, чтобы получить некоторую информацию из исключения. В противном случае вы просто будете угадывать.

0 голосов
/ 02 сентября 2014

Неверное свойство соединения с базой данных MySQL

jdbc:mysql://localhost:3306/<your database name>

вместо вас дают 1004 *

jdbc:mysql:///team_project

модифицируйте и запустите программу и лучше обработайте исключение в блоке try / catch вместо throws.

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