Java中的字符串连接与第一个结果一起给出null

时间:2016-06-21 09:11:00

标签: java null string-concatenation

当我使用mysqlconnector运行查询并使用ResulSet获取结果时,我的第一个查询始终位于null之前。

这是我的代码:

Class.forName("com.mysql.jdbc.Driver");
    conn =DriverManager.getConnection("jdbc:mysql://localhost/","","");
    String query = "SELECT Category,Account FROM Settings" ;//
    PreparedStatement select = conn.prepareStatement(query);
    ResultSet rs = select.executeQuery( );

    while (rs.next())
        {

                category += rs.getString("Category")+",";
                account += rs.getString("Account")+",";

我的结果总是:nullresult, result, result...

即使只有一个结果,它总是:nullResult

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

您可能已声明null

我的假设是String category =null;

更改为String category ="";

答案 1 :(得分:0)

您声明为String category的变量自动或显式(在代码中)分配为null

因此,最好为变量category分配""(空字符串)。这会给你一个你期待的结果..

  

示例代码这是Demo To Demonstrate Your Problem

String category = "";
categorty += "Appeltants Ronald";
System.out.prinln(category); //it will print Appeltants Ronald

感谢你。

答案 2 :(得分:-2)

在语句conn =DriverManager.getConnection("jdbc:mysql://localhost/","","");中,您没有提到数据库的名称和username,password来访问数据库。

这就是为什么没有与数据库建立任何连接,因此它返回null。