[英]Java MYSQL Exception in executeQuery()
我得到一个Java MySQL异常
@Override
public ResultSet executeQuery (String query, ArrayList<Argument> arguments) throws SQLException
{
final PreparedStatement pstmt = getPstmt(query, arguments);
final ResultSet retrievedData = pstmt.executeQuery();
return retrievedData;
}
//getpstmt()
private PreparedStatement getPstmt (String query, ArrayList<Argument> arguments) throws SQLException
{
PreparedStatement pstmt = null;
try {
pstmt = connection.prepareStatement(query);
if (arguments != null) {
int argPosition = 1;
for (final Argument arg : arguments) {
if (arg.getType() == ARGUMENT_TYPE.INTEGER) {
pstmt.setInt(argPosition++, arg.getInt());
}
else {
pstmt.setString(argPosition++, arg.getString());
}
}
}
}
catch (final Exception ex) {
NmsLogger.writeDebugLog(ex);
return null;
}
return pstmt;
}
// One instance of calling executeQuery
public String getProperty(String propertyName)
{
try
{
ArrayList<Argument> arguments = new ArrayList<Argument>();
arguments.add(new Argument(propertyName));
final java.sql.ResultSet resultset = Application.getDBHandler().executeQuery(SQLQueries.GET_PROPERTY, null);
Application.getDBHandler().executeQuery(SQLQueries.GET_PROPERTY, arguments);
if(resultset.next())
{
resultset.getString(1);
}
return resultset.toString();
}
catch (SQLException e)
{
NmsLogger.writeDebugLog(e);
e.printStackTrace();
}
return null;
}
调试以下代码时出现以下错误:
java.sql.SQLException:没有为参数1指定值
有人建议一种方法来解决。为什么我得到这样的例外?
你在这里传递null
到executeQuery而不是参数列表:
Application.getDBHandler().executeQuery(SQLQueries.GET_PROPERTY, null);
那么,没有价值的地方?
在查询"Select * from app_config where Property = ?"
因此例外。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.