jdbc:No value specified for parameter 2

publicclassParameterMetaTest{publicstaticvoidmain(String[]args){Object[]params=newObj... public class ParameterMetaTest {

public static void main(String[] args) {
Object[] params=new Object[]{"lisi",100f};
read("select * from school where name=? and money>?",params);
}

static void read(String sql,Object[] params)
{
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;

try {

conn=JdbcUtils.getConnection();
ps=conn.prepareStatement(sql);
for(int i=1;i<=params.length;i++)
{
ps.setObject(1,params[i-1]);
}

ps.executeQuery();

} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
}
java.sql.SQLException: No value specified for parameter 2.
这里我就没有3个参数,为什么第3个参数没赋值。如果我在params里加一个参数,还是报parameter 2的错误,求解答
展开
 我来答
爱吃溜肥肠
2014-09-09 · TA获得超过627个赞
知道小有建树答主
回答量:326
采纳率:50%
帮助的人:217万
展开全部
for(int i=1;i<=params.length;i++)
{
ps.setObject(1,params[i-1]);
}
改为:
for(int i=1;i<=params.length;i++)
{
ps.setObject(i,params[i-1]);
}
追问
。。。太晕了。感谢
追答
有时候都这样;嘿嘿,谢谢采纳
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式