这段代码在java中运行后没有显示输出?

这段代码在java中运行后没有显示输出?,java,mysql,Java,Mysql,为什么这段代码在Netbeans中运行后不显示输出?在mysql中连接到数据库后,应该要求“输入用户名进行搜索”。我已经使用MySql在Netbeans 8.0.2中创建了数据库和表。正如我在服务面板中看到的那样,所有驱动程序都安装正确。我在webservice上使用Netbeans 8.0.2。我不确定这是JDBC问题还是其他问题,因为我可以从Netbeans 8.0.2完美地访问所有数据库和表。请帮忙 public class Passwordchecker{ public static v

为什么这段代码在Netbeans中运行后不显示输出?在mysql中连接到数据库后,应该要求“输入用户名进行搜索”。我已经使用MySql在Netbeans 8.0.2中创建了数据库和表。正如我在服务面板中看到的那样,所有驱动程序都安装正确。我在webservice上使用Netbeans 8.0.2。我不确定这是JDBC问题还是其他问题,因为我可以从Netbeans 8.0.2完美地访问所有数据库和表。请帮忙

public class Passwordchecker{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/checksql", "username", "password");
    Statement stmt = con.createStatement(); 

    char answer;
    do{

    System.out.print("Enter username to search for: ");
    String name = sc.next();

    String SQL = "SELECT * FROM people WHERE name='" + name + "'";

    ResultSet rs = stmt.executeQuery(SQL);

    if(rs.next()) {
        System.out.println("Success!");
    } else {
        System.out.println("Failure!");
    }

    System.out.print("Do you want to search for another name? (Y/N): ");
    answer = sc.next().charAt(0);
    } while(answer == 'Y' || answer == 'y');

    } catch(Exception e) {
        e.printStackTrace();
    }
 }

如果没有得到任何结果,是因为代码执行引发了异常。当执行到达异常部分时,没有更多的代码要执行,因此程序完成,并且不会在控制台上显示任何内容

我猜
语句stmt=con.createStatement()部件正在引发异常。请尝试执行以下代码:

System.out.print("Posible Failure 1");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/checksql", "username", "password");

System.out.print("Posible Failure 2");

statement stmt = con.createStatement(); 

System.out.print("Posible Failure 3");
并在例外部分添加此行:

catch(Exception e) {
    e.printStackTrace();
}
这将告诉您异常抛出的内容和位置


确保MYSQL服务正在运行,并且您必须拥有所需的所有导入。

您可以尝试调试代码

  • 这里硬编码一个名字

    String name = sc.next();
    
    差不多

    String name = "An Existing name in DB";
    
  • 您的捕获没有任何打印异常的机制,所以您永远不会知道发生了什么。修改捕获:

    catch(Exception e) {
       e.printStackTrace();
    }
    

  • 执行此操作并让我知道我们将从那里开始。

    您是否检查了代码:
    您需要这些导入

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.Scanner;
    

    在您提供的代码中。您最后错过了“}”。检查它。

    您是否尝试输入用户名
    System.out.print
    通常是行缓冲的,这意味着它只会显示在
    println
    或刷新上。我认为您有SQLException,因为连接错误。如果在尝试新代码后,您得到SQLException,请查看此网站我需要帮助!有什么解决办法吗?如果你不打印抛出代码的异常,我帮不了你。确保所有导入都已完成,并且mysql服务必须正在运行。它现在运行正常。我将mysql连接器j添加到我的netbeans目录中。另外,我已经对代码做了一些调整,现在可以访问数据库了。谢谢,它现在工作得很好。你帮了大忙。