gpt4 book ai didi

java - 运行executeQuery(sql)时出现NullPointerException

转载 作者:行者123 更新时间:2023-11-30 04:29:43 26 4
gpt4 key购买 nike

我有一个简单的Java查询,可以在SQL SERVER 2008中运行。当达到

rs = stmt.executeQuery(sql); 它给了我 java.lang.NullPointerException

1-我使用 jtds 驱动程序将我的代码连接到数据库。

2-当我直接在数据库中执行查询时,它可以工作。

3-为了使代码简短且易于理解,我省略了 Try-Catch

    public class DataBases 
{

private Connection link;
private java.sql.Statement stmt;
public ResultSet rs;

public DataBases()
{

Class.forName("net.sourceforge.jtds.jdbc.Driver");
String connectionUrl = "jdbc:jtds:sqlserver://localhost:1433;databaseName=DB;integratedSecurity=true";
Connection link = DriverManager.getConnection(connectionUrl);


}


public ResultSet select(String sql)
{
rs = stmt.executeQuery(sql);
return rs;
}
}



public static void main(String[] args)
{

DataBases s=new DataBases();
String sql="SELECT * FROM [DB].[dbo].[quantities] ";
ResultSet rs=s.select(sql);
}

最佳答案

您需要在某个地方实例化 stmt(在构造函数中或在 select 函数中)

您还可以将 stmt 字段移动为 select 函数的变量。

    public ResultSet select(String sql)
{
Statement stmt = link.createStatement();
rs = stmt.executeQuery(sql);
return rs;
}

关于java - 运行executeQuery(sql)时出现NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14952116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com