你的语句有问题。 select object(a) from TBank as a where a.fName like ?1 我的这句一点问题都没有,编译正常。
To listening(zqy): 改为: SELECT OBJECT(p) FROM users WHERE p.username LIKE '%?1%'部署没问题,但是执行的时候居然有EJBException: javax.ejb.EJBException: nested exception is: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'not' 附近有语法错误。奇怪的是根本没有not关键字啊!
有需要J2EE资料的吗?请访问我的网站http://softtrade.vicp.net 资料下载 目录下载资料 内容: 精通EJB2 EJB-CMP-CMR J2EE_BlueprintsDigest JMS jAVA-jms ejb资料 实战EJB J2EE and XML Enterprise Java Bean
真实怕了你了,你觉得那种写法“SELECT OBJECT(p) FROM users WHERE p.username LIKE '%?1%'”对吗? Like后面跟的应该是变量,你家了''不就变成常量了吗?这样写试试。 select object(p) from users as p where p.username like ?1一定没问题。
to zeros(只爱Java),楼主: SELECT OBJECT(p) FROM users WHERE p.username LIKE '%?1%' 是绝对没有问题的,我用CMP,JBuilderX/Oracle9/WebLogic8.12编译成功。 你出现的问题,可能是里面的空格有问题,你把这一句重新写一遍,不要有全角字符。这是个小问题,EJB_QL有其特别的语法,”好好学习,天天向上“说的没错,到网上可以找到很多这样的资料。全面的学习一下,比解决一个问题更有益处。
To zeros(只爱Java): listening(zqy)说得没错,LIKE '%?1%' 是绝对没有问题的, 你仔细想想:SQL中的LIKE: LIKE '%A%', LIKE 'A%', LIKE '%A' 如果你写LIKE ?1 那么对应的是上面哪个SQL呢?
select object(a) from TBank as a where a.fName like ?1
我的这句一点问题都没有,编译正常。
改为:
SELECT OBJECT(p) FROM users WHERE p.username LIKE '%?1%'部署没问题,但是执行的时候居然有EJBException:
javax.ejb.EJBException: nested exception is: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'not' 附近有语法错误。奇怪的是根本没有not关键字啊!
内容:
精通EJB2
EJB-CMP-CMR
J2EE_BlueprintsDigest
JMS
jAVA-jms
ejb资料
实战EJB
J2EE and XML
Enterprise Java Bean
select object(p) from users as p where p.username like ?1一定没问题。
SELECT OBJECT(p) FROM users WHERE p.username LIKE '%?1%'
是绝对没有问题的,我用CMP,JBuilderX/Oracle9/WebLogic8.12编译成功。
你出现的问题,可能是里面的空格有问题,你把这一句重新写一遍,不要有全角字符。这是个小问题,EJB_QL有其特别的语法,”好好学习,天天向上“说的没错,到网上可以找到很多这样的资料。全面的学习一下,比解决一个问题更有益处。
你仔细想想:SQL中的LIKE:
LIKE '%A%', LIKE 'A%', LIKE '%A'
如果你写LIKE ?1 那么对应的是上面哪个SQL呢?