Java 执行rs=stmt.executeQuery(queryData)时出现NullPointerException
我正在尝试连接到Sybase ASE数据库。当我检索数据时,我在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
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());}