【发布时间】:2019-01-23 14:31:57
【问题描述】:
我正在尝试执行一个包含 where 条件的 sql 查询。但是每当我执行查询时,它都会给我java.lang.NullPointerException。请帮帮我!
我正在使用 mssql 和 java
dbURL = "jdbc:sqlserver://ip:portnumber;databaseName=abc";
username = "abc";
password = "abc";
//Load MS SQL JDBC Driver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(dbURL,username,password);
//Creating statement object
st = con.createStatement();
selectquery = "select * from abc where TradeType = '"+tradepair+"'";
rs = st.executeQuery(selectquery);
while (rs.next()) {
getpair = rs.getString("TradeType");
dbTradePair.add(getpair);
}
System.out.println("Pairs :-"+dbTradePair);
当“selectquery”被执行时,我得到“java.lang.NullPointerException”。 我希望我以正确的格式执行 sql 查询。有人可以帮我吗?
【问题讨论】:
-
你必须使用 PreparedStatement。
-
使用
PreparedStatement而不是通过连接部分SQL和查询值来创建语句。 -
你能分享一下抛出那个异常的那一行吗?我可以看到下面的行可以抛出: st = con.createStatement(); // 如果 con 为 null getpair = rs.getString("TradeType"); // 如果没有 TradeType 列 dbTradePair.add(getpair); // 如果 dbTradePair 为空
标签: java sql sql-server jdbc