Error: SQLException: Parameter index out of range (1 > number of parameters, which is 0)
Error: SQLException: Parameter index out of range (1 > number of parameters, which is 0)
尽管上述准备语句的语法是正确的,但我收到以下错误:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0)
预期的结果是下面的代码必须return取值为table
try{
conn = DatabaseMain.getConnection();
String instqury = "Select quality_name,quality_size,quality_weight,quality_spec from quality where quality_code = '?'";
pst1 = conn.prepareStatement(instqury);
pst1.setString(1, quality);
rs1 = pst1.executeQuery();
rs1.next();
name.setText(String.valueOf(rs1.getString("quality_name")));
}
catch(Exception e){
e.printStackTrace();
System.out.println("Error in setting labels for Machine View");
}
不要将占位符放在单引号之间:
String instqury =
"Select quality_name,quality_size,quality_weight,quality_spec " +
"from quality where quality_code = ?";
^-- here
尝试从占位符 ? 中删除单引号,当你这样放置 '?' 时查询正在读取它作为提供的值。
尽管上述准备语句的语法是正确的,但我收到以下错误:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0)
预期的结果是下面的代码必须return取值为table
try{
conn = DatabaseMain.getConnection();
String instqury = "Select quality_name,quality_size,quality_weight,quality_spec from quality where quality_code = '?'";
pst1 = conn.prepareStatement(instqury);
pst1.setString(1, quality);
rs1 = pst1.executeQuery();
rs1.next();
name.setText(String.valueOf(rs1.getString("quality_name")));
}
catch(Exception e){
e.printStackTrace();
System.out.println("Error in setting labels for Machine View");
}
不要将占位符放在单引号之间:
String instqury =
"Select quality_name,quality_size,quality_weight,quality_spec " +
"from quality where quality_code = ?";
^-- here
尝试从占位符 ? 中删除单引号,当你这样放置 '?' 时查询正在读取它作为提供的值。