簡體   English   中英

在Java中運行后,此代碼未顯示輸出?

[英]This code is not showing output after running it in java?

為什么在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();
    }
 }

如果沒有得到任何結果,是因為代碼執行會引發異常。 當執行到達異常部分時,沒有更多的代碼可以執行,因此該程序已完成並且在控制台上不顯示任何內容。

我猜statement 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服務正在運行,並且必須具有所需的所有導入。

您可以嘗試幾種方法來調試代碼。

  1. 這里硬編碼一個名字。

     String name = sc.next(); 

    就像是

     String name = "An Existing name in DB"; 
    1. 您的捕獲沒有任何機制可以打印異常,因此您永遠不會知道發生了什么。 修改捕獲:

       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;

在您提供的代碼中。 您最后錯過了“}”。 核實。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM