Java 执行rs=stmt.executeQuery(queryData)时出现NullPointerException

Java 执行rs=stmt.executeQuery(queryData)时出现NullPointerException,java,database,nullpointerexception,sap-ase,Java,Database,Nullpointerexception,Sap Ase,我正在尝试连接到Sybase ASE数据库。当我检索数据时,我在rs=stmt.executeQuery(queryData)上得到NullPointerException 我用dbVisualizer尝试了相同的查询,但一切都正常 static void retrieveData() { try { String queryData="SELECT * FROM med WHERE item_id like 'A00001'"; // process the

我正在尝试连接到Sybase ASE数据库。当我检索数据时,我在
rs=stmt.executeQuery(queryData)上得到NullPointerException
我用dbVisualizer尝试了相同的查询,但一切都正常

static void retrieveData() {
   try {
       String queryData="SELECT * FROM med WHERE item_id like 'A00001'";
       // process the results.
       rs = stmt.executeQuery(queryData);
       while (rs.next()) {
            String s = rs.getString("item_naam");
            String n = rs.getString("item_mnemo");
            System.out.println(s + "   " + n);
       }
   }catch(SQLException ex) {
       System.err.println("RetrieveData: " + ex.getMessage()+ " sqlstate = " +
                ex.getSQLState());
       System.exit(1);
   }

stmt
对象可能未初始化。

stmt
对象可能未初始化。

问题似乎是
stmt
未初始化,我假设您至少已定义变量
stmt
,因为如果未初始化,开发人员环境将显示错误

没有初始化一个变量会导致很多NullPointerException,我的意思是你定义了它,然后忘记了初始化它,这是一个很好的建议(如果你没有内存问题,并且你经常忘记初始化变量),同时做这两件事

你可以做:

 Statement s = c.createStatement();
  rs = s.executeQuery(queryData);

请记住,c其中previously initialized and rs是在之前定义的。

问题似乎是
stmt
没有初始化,我假设您至少已经定义了变量
stmt
,因为如果没有,开发人员环境将显示错误

没有初始化一个变量会导致很多NullPointerException,我的意思是你定义了它,然后忘记了初始化它,这是一个很好的建议(如果你没有内存问题,并且你经常忘记初始化变量),同时做这两件事

你可以做:

 Statement s = c.createStatement();
  rs = s.executeQuery(queryData);

请记住,c其中previousy初始化,rs之前定义过,

您在哪里初始化stmt?我有一个类似的问题!你能帮我一下吗?你在哪里初始化stmt?我有一个类似的问题!你能帮我个忙吗?我在班上做了如下:
public class BcfiConnection{static Connection con;static Statement stmt;static ResultSet rs;
这是声明,不是初始化。您需要创建一个连接,然后使用它来创建语句。我在类的顶部做了如下操作:
公共类BcfiConnection{static Connection con;static Statement stmt;static ResultSet rs;
这是声明,不是初始化。您需要创建一个连接,然后使用它来创建语句。非常感谢我做了以下工作:
尝试{con=DriverManager.getConnection(url、用户、密码);stmt=con.createStatement();System.out.println(“已建立连接”);}catch(SQLException ex){System.err.println(“数据库连接:”+ex.getMessage()+“SQLState:”+ex.getSQLState());}
非常感谢我做了以下工作:
尝试{con con=DriverManager.getConnection(url,user,password);stmt=con.createStatement();System.out.println(“已建立连接”);}catch(SQLException ex){System.err.println(“数据库连接:+ex.getMessage()+”SQLState:+ex.getSQLState());}