Java 爪哇及;MYSQL不可访问代码

Java 爪哇及;MYSQL不可访问代码,java,Java,嘿,我有一个小问题,但我无法解决:(我使用mysql+bukkit库,当我想使用其中一种方法时,我会得到一个无法访问的错误代码 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import j

嘿,我有一个小问题,但我无法解决:(我使用mysql+bukkit库,当我想使用其中一种方法时,我会得到一个无法访问的错误代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

import org.bukkit.event.Listener;

public class MySQL implements Listener {
    private Connection connect = null;
    private Statement statement = null;
    private PreparedStatement preparedStatement = null;
    private ResultSet resultSet = null;

  public void connect() throws Exception {
      try {
          Class.forName("com.mysql.jdbc.Driver");
          connect = DriverManager.getConnection("jdbc:mysql://localhost....?"+ "user=test&password=whatever");
          statement = connect.createStatement();

          ... more code

      } catch (Exception e) {
          throw e;
      } finally {
          close();
      }
  }
Main.java

package Hester.CrafMe;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {

    protected static final Logger log=Logger.getLogger("Minecraft");
    private static final String ALPHA_NUM = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    public Colorizer colorize = new Colorizer();
    public MySQL sql = new MySQL();
    public static Main plugin;



public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
            final FileConfiguration config = this.getConfig();
            Player player = (Player) sender;
            int LANG = config.getInt("PlayerConfig."+player.getName()+".language");

        //uKEY(unikalny kod)
        if (command.getName().equalsIgnoreCase("ukey")){
            String Private_uKEY = uKEY(7);

            if(LANG == 1){
                player.sendMessage(ChatColor.RED + "Twoj unikalny kod to: "+ ChatColor.YELLOW + Private_uKEY);
                player.sendMessage(ChatColor.RED + "Podany kod wpisz na stronie "+ ChatColor.YELLOW + "www.crafme.net");        
                return true;
            } else {
                player.sendMessage(ChatColor.RED + "Your unique code is: "+ ChatColor.YELLOW + Private_uKEY);
                player.sendMessage(ChatColor.RED + "Enter the code on the page "+ ChatColor.YELLOW + "www.crafme.net");
                return true;
            }

            sql.uKEY(Private_uKEY, player.getName());
        }

        return false;
    }

}
MySQL.java这里我连接到sql,但是我遇到了无法访问的代码问题

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

import org.bukkit.event.Listener;

public class MySQL implements Listener {
    private Connection connect = null;
    private Statement statement = null;
    private PreparedStatement preparedStatement = null;
    private ResultSet resultSet = null;

  public void connect() throws Exception {
      try {
          Class.forName("com.mysql.jdbc.Driver");
          connect = DriverManager.getConnection("jdbc:mysql://localhost....?"+ "user=test&password=whatever");
          statement = connect.createStatement();

          ... more code

      } catch (Exception e) {
          throw e;
      } finally {
          close();
      }
  }

怎么了?

你真的需要指出你从哪里得到了无法到达的代码信息。根据当前的信息,我们所能做的只是猜测

尽管如此,一些常见的死代码案例仍然存在

public String getProperty() {
    return "property";
    System.out.println("Dead code"); //Code after a return statement
}

在这种情况下,您的
if
及其
else
都返回一个值,因此这些语句后面的代码将不会执行

if (command.getName().equalsIgnoreCase("ukey")){
    String Private_uKEY = uKEY(7);
    if(LANG == 1){
        player.sendMessage(ChatColor.RED + "Twoj unikalny kod to: "+ ChatColor.YELLOW + Private_uKEY);
        player.sendMessage(ChatColor.RED + "Podany kod wpisz na stronie "+ ChatColor.YELLOW + "www.crafme.net");        
        return true; //Returning a value
    } else {
        player.sendMessage(ChatColor.RED + "Your unique code is: "+ ChatColor.YELLOW + Private_uKEY);
        player.sendMessage(ChatColor.RED + "Enter the code on the page "+ ChatColor.YELLOW + "www.crafme.net");
        return true; //Returning a value on the else too
    }
    //Since both the if and the else return something, the code below won't be executed.
    sql.uKEY(Private_uKEY, player.getName()); 

}

return false;

您需要在那里做什么。

哪些代码是无法访问的?您的错误中还有什么吗?我认为您遗漏了有问题的代码部分。
catch(Exception e){throw e;}
是绝对多余的。请删除这段代码。如果Main.java中的代码实际显示为您的代码,则它需要位于类中。您没有包含MySQL对象实例及其方法调用的类或方法。sql.uKEY(Private_uKEY,player.getName());有无法访问的代码这是在类public class Main extends JavaPlugin{public Colorizer colorize=new Colorizer();public MySQL sql=new MySQL();public static Main plugin;public boolean onCommand(){sql.uKEY(Private_-uKEY,player.getName());}耶!你是对的,当我删除时返回true;一切工作正常:谢谢!