我把所有的问号都换成常量写在SQL语句里面就正常,写成"?",就报错,都找了一天啊,大家帮忙看下吧.
解决方案 »
- nio和io的区别是什么?
- 请教个移位的问题
- 菜鸟菜问题
- 如何将一台远程机器的共享文件夹里的指定内容copy到另一台远程机器的指定目录下
- 为什么我的问题发不了。。。。哪里出错了~~~~
- 用Eclipse+SWT Designer做界面,怎样把数据库中的记录显示在Table中?
- <急: 如何将一个文件写入数据库啊Sql2000 >
- 求您了!!哪里有JAVA2图形编程I下载?
- 请问socket中read()<0表示流结束么?
- 求救,web部署问题
- 做项目中,遇到了问题,Exception in thread "main" java.lang.NoClassDefFoundError:
- list中的toArray为什么报错
memPst.setObject(1, resultSet.getString(1));
memPst.setObject(2, resultSet.getInt(5));
memPst.setObject(3, resultSet.getInt(4));
memPst.setObject(4, resultSet.getInt(4));
memPst.setObject(5, resultSet.getString(1));
memPst.setObject(6, resultSet.getInt(5));
也写死了。接着测
不过我换了种方式,搞定了.memSql = " merge into membernum using (select count(id) count from membernum where phone = " +resultSet.getString(1)+
" and ringid = "+resultSet.getInt(5)+" ) num2 on (num2.count <> 0 ) " +
"when matched then update set balance = balance + "+resultSet.getInt(4)+", totalnum = totalnum + " + resultSet.getInt(4) +
"when not matched then insert (id, phone,ringid,totalnum,balance)" +
" values (SEQ_MEMBERINCOME.nextval, "+resultSet.getString(1)+" , "+resultSet.getInt(5)+" , "
+resultSet.getInt(4)+" , "+resultSet.getInt(4)+")" ;
memPst = connection.prepareStatement(memSql);
memPst.execute(memSql);
另外,不建议都用setObject
你试试看用对应的比如setString,setInt,之类的,oracle的类型转换有时候不是像你想的那样,Object不能搞定一切。
只看到3个 ? 却set了6个参数
2. 通过Statement的set方法进行赋值
3. 调用execute
4. 通过resultset的get获取结果你的SQL种有3个问号,即需要set 3 个参数,目前的代码中set了6个参数,所以执行时报错。