1. PreparedStatement updateSales = con.prepareStatement("SELECT * FROM COFFEES WHERE COF_NAME IN (?)");updateSales.setString(1, "Espresso,French_Roast");
解决方案 »
- 跪求大神!!!! .Java背单词软件的设计与实现 课程设计。。
- 急!请高手帮忙解决一个java调用Runtime执行命令行问题?
- 求助 JAVA如何获取DBF文件的最后更新时间?
- 一个递归题
- 谁能提供有什么网站有介绍java集合框架?谢谢
- 欢迎参加软件开发组织测试成熟度的调查活动
- 请问有没有人使用ZXING的时候有遇上和我一样的问题?
- 高分请教JBuilder问题!
- java太离谱!!!欢迎讨论
- 求教大神为啥这里的getTime返回值不是毫秒数?
- 目前ERP软件(用友、浪潮、金碟、利玛、oracle 9i、SAP等),都进行到什么程度,各个软件的优缺点都是什么,那位有这方面资料!(zxf@0451
- 抽象类的构造方法能为它的子类做些什么?
updateSales.setString(1, "Espresso,French_Roast");
当然前提是ORACLE数据库
但是有没有结果,你把整个命令在DBA中执行一下看看,有没有结果?有的话,你在一点点修改程序,否则都是白搭。
我是oracle。现在:
PreparedStatement updateSales = con.prepareStatement("SELECT * FROM COFFEES WHERE trim(COF_NAME) IN (?)");
updateSales.setString(1, "Espresso");
有结果。
但是:
PreparedStatement updateSales = con.prepareStatement("SELECT * FROM COFFEES WHERE trim(COF_NAME) IN (?)");
updateSales.setString(1, "Espresso,French_Roast");
没有结果。
updateSales.setString(1, "Espresso");
updateSales.setString(2, "French_Roast");
updateSales.setString(1, "Espresso");
updateSales.setString(2, "French_Roast");
PreparedStatement的局限性其实挺大的,除了上面的以外,还有分时间段统计问题:如果用户只输入开始时间,就统计到目前为止的数据,如果只输入结束时间,就统计这个时间以前的数据,如果两个时间都输入,就统计两个时间之间的数据。这也是参数不固定。
另外,从由于是先按存储过程编译后执行的,各种数据库系统实现起来可能有一些差别,如果要做数据库的移植也可能有一些问题。
updateSales.setString(1, "('Espresso','French_Roast')");